Skip to content

Commit

Permalink
TransientSpec 1D class
Browse files Browse the repository at this point in the history
  • Loading branch information
jlaehne committed Jan 28, 2024
1 parent 330cc47 commit 5882277
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 23 deletions.
15 changes: 12 additions & 3 deletions lumispy/hyperspy_extension.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,8 +150,18 @@ signals:
lazy: True
module: lumispy.signals.luminescence_transient

TransientSpectrumCasting:
signal_type: TransientSpec
signal_type_aliases:
- TRLumiSpec
- TR luminescence spectrum
- time-resolved luminescence spectrum
signal_dimension: 1
dtype: real
lazy: False
module: lumispy.signals.luminescence_transientspec
LumiTransientSpectrum:
signal_type: Luminescence
signal_type: TransientSpec
signal_type_aliases:
- TRLumiSpec
- TR luminescence spectrum
Expand All @@ -161,9 +171,8 @@ signals:
lazy: False
module: lumispy.signals.luminescence_transientspec
LazyLumiTransientSpectrum:
signal_type: Luminescence
signal_type: TransientSpec
signal_type_aliases:
- TransientSpec
- TRLumiSpec
- TR luminescence spectrum
- time-resolved luminescence spectrum
Expand Down
1 change: 1 addition & 0 deletions lumispy/signals/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
"LazyELSpectrum",
"LumiTransient",
"LazyLumiTransient",
"TransientSpectrumCasting",

Check failure

Code scanning / CodeQL

Explicit export is not defined Error

The name 'TransientSpectrumCasting' is exported by __all__ but is not defined.
"LumiTransientSpectrum",
"LazyLumiTransientSpectrum",
]
18 changes: 2 additions & 16 deletions lumispy/signals/luminescence_spectrum.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
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
Expand All @@ -45,21 +44,8 @@ class LumiSpectrum(Signal1D, CommonLumi):
_signal_dimension = 1
_signal_type = "Luminescence"

def __init__(self, *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 __init(self, *args, **kwargs):
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
Expand Down
34 changes: 30 additions & 4 deletions lumispy/signals/luminescence_transientspec.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,47 @@
-------------------------------------------------
"""

from hyperspy.signals import Signal2D
from hyperspy.signals import Signal1D, Signal2D
from hyperspy._signals.lazy import LazySignal

from lumispy.signals import LumiSpectrum, LumiTransient
from lumispy.signals.common_luminescence import CommonLumi
from lumispy.signals.common_transient import CommonTransient


class TransientSpectrumCasting(Signal1D, CommonLumi, CommonTransient):
"""**1D signal class for casting reduced LumiTransientSpectrum to either Luminescence or Transient**"""

_signal_type = "TransientSpec"
_signal_dimension = 1

def __init__(self, *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:
self.metadata.Signal.signal_type = "Luminescence"
self.__class__ = LumiSpectrum
self.__init__(*args, **kwargs)


class LumiTransientSpectrum(Signal2D, CommonLumi, CommonTransient):
"""**General 2D luminescence signal class (transient/time resolved)**"""
"""**2D luminescence signal class (spectrum+transient/time resolved dimensions)**"""

_signal_type = "Luminescence"
_signal_type = "TransientSpec"
_signal_dimension = 2


class LazyLumiTransientSpectrum(LazySignal, LumiTransientSpectrum):
"""**General lazy 2D luminescence signal class (transient/time resolved)**"""
"""**Lazy 2D luminescence signal class (spectral+transient/time resolved dimensions)**"""

_lazy = True

0 comments on commit 5882277

Please sign in to comment.