diff --git a/lumispy/hyperspy_extension.yaml b/lumispy/hyperspy_extension.yaml index 017993a42..3d34c83f9 100644 --- a/lumispy/hyperspy_extension.yaml +++ b/lumispy/hyperspy_extension.yaml @@ -151,7 +151,7 @@ signals: module: lumispy.signals.luminescence_transient LumiTransientSpectrum: - signal_type: TransientSpec + signal_type: Luminescence signal_type_aliases: - TRLumiSpec - TR luminescence spectrum @@ -161,8 +161,9 @@ signals: lazy: False module: lumispy.signals.luminescence_transientspec LazyLumiTransientSpectrum: - signal_type: TransientSpec + signal_type: Luminescence signal_type_aliases: + - TransientSpec - TRLumiSpec - TR luminescence spectrum - time-resolved luminescence spectrum diff --git a/lumispy/signals/luminescence_spectrum.py b/lumispy/signals/luminescence_spectrum.py index 2c4dd6a0e..4c8002aaa 100644 --- a/lumispy/signals/luminescence_spectrum.py +++ b/lumispy/signals/luminescence_spectrum.py @@ -26,6 +26,7 @@ from traits.api import Undefined from lumispy.signals.common_luminescence import CommonLumi +from lumispy.signals.luminescence_transient import LumiTransient from lumispy import to_array, savetxt from lumispy.utils import solve_grating_equation from lumispy.utils.axes import GRATING_EQUATION_DOCSTRING_PARAMETERS @@ -41,11 +42,16 @@ class LumiSpectrum(Signal1D, CommonLumi): """**General 1D luminescence signal class.**""" - _signal_type = "Luminescence" _signal_dimension = 1 + _signal_type = "Luminescence" def __init__(self, *args, **kwargs): - super().__init__(*args, **kwargs) + if hasattr(self,'axes_manager') and self.axes_manager[-1].units in ["fs", "ps", "ns", "µs", "mus", "ms", "s"]: + self.metadata.Signal.signal_type = "Transient" + self.__class__ = LumiTransient + self.__init__(*args, **kwargs) + else: + super().__init__(*args, **kwargs) def remove_background_from_file(self, background=None, inplace=False, **kwargs): """Subtract the background to the signal in all navigation axes. If no diff --git a/lumispy/signals/luminescence_transientspec.py b/lumispy/signals/luminescence_transientspec.py index 724870f36..08e9e4143 100644 --- a/lumispy/signals/luminescence_transientspec.py +++ b/lumispy/signals/luminescence_transientspec.py @@ -31,7 +31,7 @@ class LumiTransientSpectrum(Signal2D, CommonLumi, CommonTransient): """**General 2D luminescence signal class (transient/time resolved)**""" - _signal_type = "TransientSpec" + _signal_type = "Luminescence" _signal_dimension = 2 diff --git a/lumispy/tests/utils/test_axis_conversion.py b/lumispy/tests/utils/test_axis_conversion.py index 798d0380e..2f4cf279a 100644 --- a/lumispy/tests/utils/test_axis_conversion.py +++ b/lumispy/tests/utils/test_axis_conversion.py @@ -194,15 +194,17 @@ def test_eV_slicing(): S.to_eV(inplace=True) S.isig[3.251:4.052] + def test_to_eV_2D(): - axis1 = UniformDataAxis(size=10, offset=200, scale=10, units='nm') - axis2 = UniformDataAxis(size=8, offset=0, scale=0.1, units='ns') - data = arange(80).reshape(8,10) + axis1 = UniformDataAxis(size=10, offset=200, scale=10, units="nm") + axis2 = UniformDataAxis(size=8, offset=0, scale=0.1, units="ns") + data = arange(80).reshape(8, 10) S1 = LumiTransientSpectrum(data, axes=[axis2, axis1]) S2 = S1.to_eV(inplace=True, jacobian=False) assert S1.axes_manager[0].units == "eV" assert S1.axes_manager[0].axis[-1] == nm2eV(axis1.axis[0]) - assert S1.data[0,0] == data[0,-1] + assert S1.data[0, 0] == data[0, -1] + @mark.parametrize(("jacobian"), (True, False)) def test_reset_variance_linear_model_eV(jacobian):