Skip to main content

Spectrum class that overloads operators.

Project description

spectrum_overload

Say Thanks! PyPI versionUpdatesPython 3

Documentation Status Build Status Coverage Status Codacy BadgeTest Coverage Code ClimateIssue Count

Overview

The purpose of this was project was to learn how to use and create Classes, and to create a Spectrum object to use within my Phd work.

The main goals of this project are basically complete.

  • create a class to contain spectrum
  • automatic interpolation
  • overloaded operators especially
  • Spectral division (spectrum_A / spectrum_B )
  • Spectral subtraction (spectrum_A - spectrum_B)
  • Powers/exponents (spectrum ** x)

Further documentation can be found on read the docs.

Note:
When the spectra have different wavelength vectors spectrum_overload interpolates
to the wavelength of the first spectrum. This may not suit your requirements.

Installation

Pip

pip install spectrum-overload

git / manual

Currently to install and use Spectrum class for your own projects.

clone the git repository where you want it then type:

git clone https://github.com/jason-neal/spectrum_overload.git
cd spectrum_overload
python setup.py install

or python setup.py develop if you want to make changes.

Usage

To use import the class using :

from spectrum_overload import Spectrum
...
my_spectrum = Spectrum(flux, xaxis)

or :

from spectrum_overload.spectrum import Spectrum as spec
...
my_spectrum = spec(flux, xaxis)

or however else you would like to name it.

A tutorial is provided here to show an example of how to use this class.

Contributions

Contributions are very welcome.

I would really appreciate user feedback or suggested improvements if you have any.

Feel free to submit issues or create pull requests.

Python 2.7

Python 2.7 is only supported in versions <0.2.1 (also available on pip) to make use of useful python3 features.

Other Spectrum Classes

There are many other spectrum classes around but I didn't see any that overload the operators. (I could be blind).

One of these may better suit your needs

Wow A lot. I probably should not reinvent the wheel too much then...

It turns out that astropy/specutils is very similar to what I have created but its direction is uncertain at the moment and they do not use overloaded operators and will not implement in the foreseeable future.

TO DO

Some tasks still to do:

  • Improve Documentation
  • Generate Calibration solution (outside spectrum class)?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

spectrum_overload-0.3.tar.gz (858.0 kB view details)

Uploaded Source

Built Distribution

spectrum_overload-0.3-py3-none-any.whl (286.1 kB view details)

Uploaded Python 3

File details

Details for the file spectrum_overload-0.3.tar.gz.

File metadata

  • Download URL: spectrum_overload-0.3.tar.gz
  • Upload date:
  • Size: 858.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.5

File hashes

Hashes for spectrum_overload-0.3.tar.gz
Algorithm Hash digest
SHA256 04f9ab396fb0dae662be7b38f86f101ef9eb9e1ecc5a5faff91494ab9df5cb68
MD5 0832554b429e93b9c5b881966bc4fdca
BLAKE2b-256 ba9ab7b911c3e1e5374aad50c89213972e4e5f76f19893eb95df49c421679772

See more details on using hashes here.

File details

Details for the file spectrum_overload-0.3-py3-none-any.whl.

File metadata

  • Download URL: spectrum_overload-0.3-py3-none-any.whl
  • Upload date:
  • Size: 286.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/39.2.0 requests-toolbelt/0.8.0 tqdm/4.25.0 CPython/3.6.5

File hashes

Hashes for spectrum_overload-0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 06c14bd397e200c5ff5e093a78f8a51ae6b484e846d66583301824ac84ddb7a4
MD5 66dd675c5fd345c2a7ac3c1286305a02
BLAKE2b-256 a934474a016a6c1e81470c8ebb2ce2a21ff3f79a02e15f6d0e29f8d15cae0ce1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page