Added operations for the spectrum class #20
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added common arithmetic operations as well as numpy functions to be used
in the SPECTRUM class. To do this we defined the array_ufunc method
as recommended here
https://numpy.org/doc/stable/reference/arrays.classes.html
as well as changed the kind to numpy.lib.mixins.NDArrayOperatorsMixin to
allow for the normal operations to be handled by numpy.
An SPECTRUM class is returned with the same metadata, a new name and
a 'TRANS_TYPE' measure_type.
Also it was defined how the array method should be handled.
This should make it easier to operate with SPECTRUM data, for example
returns in s an SPECTRUM class object with the average of both spectra. Also more
complicated functions as
np.sin(s)
can be calculated.It was also incorporated the
__array__
method, so that functions asnp.mean(s)
returns the means over all wavelengths.