Skip to content

Commit

Permalink
Merge pull request #49 from jlaehne/namespace
Browse files Browse the repository at this point in the history
Clean up namespace
  • Loading branch information
jordiferrero committed Feb 22, 2021
2 parents 18a07eb + 07175c5 commit 5a5f6a1
Show file tree
Hide file tree
Showing 22 changed files with 280 additions and 217 deletions.
36 changes: 13 additions & 23 deletions lumispy/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand All @@ -19,30 +19,23 @@

import logging

# Import loading and roi functions from Hyperspy
from hyperspy.io import load
from hyperspy.api import roi

from .signals.luminescence_spectrum import LumiSpectrum
from .signals.cl_spectrum import CLSpectrum
from .signals.cl_sem_spectrum import CLSEMSpectrum
from .signals.cl_stem_spectrum import CLSTEMSpectrum
from .signals.pl_spectrum import PLSpectrum
from .signals.el_spectrum import ELSpectrum
from .signals.luminescence_transient import LumiTransient
_logger = logging.getLogger(__name__)

from .signals.luminescence_spectrum import LazyLumiSpectrum
from .signals.cl_spectrum import LazyCLSpectrum
from .signals.cl_sem_spectrum import LazyCLSEMSpectrum
from .signals.cl_stem_spectrum import LazyCLSTEMSpectrum
from .signals.pl_spectrum import LazyPLSpectrum
from .signals.el_spectrum import LazyELSpectrum
from .signals.luminescence_transient import LazyLumiTransient
from lumispy.utils.axes import nm2eV, eV2nm, nm2invcm, invcm2nm, join_spectra

from .utils.axes import *
from lumispy import signals
from lumispy import components
from lumispy import utils

from . import release_info


__all__ = [
"components",
"signals",
"utils",
]

__version__ = release_info.version
__author__ = release_info.author
__copyright__ = release_info.copyright
Expand All @@ -51,6 +44,3 @@
__maintainer__ = release_info.maintainer
__email__ = release_info.email
__status__ = release_info.status

_logger = logging.getLogger(__name__)

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand All @@ -15,24 +15,3 @@
#
# You should have received a copy of the GNU General Public License
# along with LumiSpy. If not, see <http://www.gnu.org/licenses/>.

"""Signal class for cathodoluminescence spectral data acquired in STEM.
"""

from lumispy.signals.cl_spectrum import CLSpectrum
from hyperspy._signals.lazy import LazySignal


class CLSTEMSpectrum(CLSpectrum):

_signal_type = "CL_STEM"

pass


class LazyCLSTEMSpectrum(LazySignal, CLSTEMSpectrum):

_lazy = True

pass
10 changes: 5 additions & 5 deletions lumispy/hyperspy_extension.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand Down Expand Up @@ -99,7 +99,7 @@ signals:
signal_dimension: 1
dtype: real
lazy: False
module: lumispy.signals.cl_sem_spectrum
module: lumispy.signals.cl_spectrum
LazyCLSEMSpectrum:
signal_type: CL_SEM
signal_type_aliases:
Expand All @@ -108,7 +108,7 @@ signals:
signal_dimension: 1
dtype: real
lazy: True
module: lumispy.signals.cl_sem_spectrum
module: lumispy.signals.cl_spectrum

CLSTEMSpectrum:
signal_type: CL_STEM
Expand All @@ -118,7 +118,7 @@ signals:
signal_dimension: 1
dtype: real
lazy: False
module: lumispy.signals.cl_stem_spectrum
module: lumispy.signals.cl_spectrum
LazyCLSTEMSpectrum:
signal_type: CL_STEM
signal_type_aliases:
Expand All @@ -127,7 +127,7 @@ signals:
signal_dimension: 1
dtype: real
lazy: True
module: lumispy.signals.cl_stem_spectrum
module: lumispy.signals.cl_spectrum

LumiTransient:
signal_type: Luminescence
Expand Down
2 changes: 1 addition & 1 deletion lumispy/release_info.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name = "lumispy"
version = "0.1.0"
author = "Duncan Johnstone, Jordi Ferrer Orri, Jonas Lähnemann"
copyright = "Copyright 2019-2020, LumiSpy developers"
copyright = "Copyright 2019-2021, LumiSpy developers"
credits = ["Duncan Johnstone"]
license = "GPLv3"
maintainer = "Duncan Johnstone, Jordi Ferrer Orri"
Expand Down
28 changes: 27 additions & 1 deletion lumispy/signals/__init__.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand All @@ -15,3 +15,29 @@
#
# You should have received a copy of the GNU General Public License
# along with LumiSpy. If not, see <http://www.gnu.org/licenses/>.

from .luminescence_spectrum import LumiSpectrum, LazyLumiSpectrum
from .cl_spectrum import CLSpectrum, LazyCLSpectrum
from .cl_spectrum import CLSEMSpectrum, LazyCLSEMSpectrum
from .cl_spectrum import CLSTEMSpectrum, LazyCLSTEMSpectrum
from .pl_spectrum import PLSpectrum, LazyPLSpectrum
from .el_spectrum import ELSpectrum, LazyELSpectrum
from .luminescence_transient import LumiTransient, LazyLumiTransient


__all__ = [
"LumiSpectrum",
"LazyLumiSpectrum",
"CLSpectrum",
"LazyCLSpectrum",
"CLSEMSpectrum",
"LazyCLSEMSpectrum",
"CLSTEMSpectrum",
"LazyCLSTEMSpectrum",
"PLSpectrum",
"LazyPLSpectrum",
"ELSpectrum",
"LazyELSpectrum",
"LumiTransient",
"LazyLumiTransient",
]
77 changes: 0 additions & 77 deletions lumispy/signals/cl_sem_spectrum.py

This file was deleted.

83 changes: 77 additions & 6 deletions lumispy/signals/cl_spectrum.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand All @@ -17,16 +17,16 @@
# along with LumiSpy. If not, see <http://www.gnu.org/licenses/>.

"""Signal class for Cathodoluminescence spectral data.
"""
from inspect import getfullargspec

from inspect import getfullargspec
import numpy as np
from warnings import warn

from hyperspy._signals.lazy import LazySignal
from lumispy.signals.luminescence_spectrum import LumiSpectrum
from hyperspy.signal_tools import SpikesRemoval
import warnings

from lumispy.signals import LumiSpectrum


class CLSpectrum(LumiSpectrum):
Expand Down Expand Up @@ -88,7 +88,7 @@ def remove_spikes(self, threshold='auto', show_diagnosis_histogram=False, inplac
**kwargs)

if threshold == 'auto':
warnings.warn('Threshold value: {:.2f}'.format(spikes_removal.threshold), UserWarning)
warn('Threshold value: {:.2f}'.format(spikes_removal.threshold), UserWarning)

if inplace:
return
Expand Down Expand Up @@ -122,3 +122,74 @@ class LazyCLSpectrum(LazySignal, CLSpectrum):
_lazy = True

pass


"""SEM specific signal class for Cathodoluminescence spectral data.
"""

class CLSEMSpectrum(CLSpectrum):
_signal_type = "CL_SEM"

def correct_grating_shift(self, cal_factor_x_axis, corr_factor_grating, sem_magnification, **kwargs):
""""
Applies shift caused by the grating offset wrt the scanning centre.
Authorship: Gunnar Kusch (gk419@cam.ac.uk)
:param cal_factor_x_axis: The navigation correction factor.
:param corr_factor_grating: The grating correction factor.
:param sem_magnification: The SEM (real) magnification value.
For the Attolight original metadata, take the `SEM.Real_Magnification` value
:param kwargs: The parameters passed to `hyperspy.align1D()` function like:
interpolation_method ('linear', 'nearest', 'zero', 'slinear', 'quadratic, 'cubic')
parallel: Bool
crop, expand, fill_value ...
"""

# Avoid correcting for this shift twice (first time it fails, so except
# block runs. Second time, try succeeds, so except block is skipped):
try:
self.metadata.Signal.grating_corrected == True
except AttributeError:
# Get all relevant parameters
nx = self.axes_manager.navigation_shape[0]
ny = self.axes_manager.navigation_shape[1]
fov = sem_magnification

# Correction of the Wavelength Shift along the X-Axis
calax = cal_factor_x_axis / (fov * nx)
# (Total Variation, Channels, Step)
garray = np.arange((-corr_factor_grating / 2) * calax * 1000 * nx,
(corr_factor_grating / 2) * calax * 1000 * nx,
corr_factor_grating * calax * 1000)
barray = np.full((ny, nx), garray)

self.shift1D(barray, **kwargs)

# Store modification in metadata
self.metadata.set_item("Signal.grating_corrected", True)
else:
raise Exception("You already corrected for the grating shift.")


class LazyCLSEMSpectrum(LazySignal, CLSEMSpectrum):
_lazy = True

pass


"""STEM specific signal class for Cathodoluminescence spectral data.
"""

class CLSTEMSpectrum(CLSpectrum):

_signal_type = "CL_STEM"

pass


class LazyCLSTEMSpectrum(LazySignal, CLSTEMSpectrum):

_lazy = True

pass
2 changes: 1 addition & 1 deletion lumispy/signals/common_luminescence.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand Down
6 changes: 3 additions & 3 deletions lumispy/signals/el_spectrum.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# -*- coding: utf-8 -*-
# Copyright 2019 The LumiSpy developers
# Copyright 2019-2021 The LumiSpy developers
#
# This file is part of LumiSpy.
#
Expand All @@ -17,11 +17,11 @@
# along with LumiSpy. If not, see <http://www.gnu.org/licenses/>.

"""Signal class for Electroluminescence spectral data.
"""

from hyperspy._signals.lazy import LazySignal
from lumispy.signals.luminescence_spectrum import LumiSpectrum

from lumispy.signals import LumiSpectrum


class ELSpectrum(LumiSpectrum):
Expand Down

0 comments on commit 5a5f6a1

Please sign in to comment.