From 7718120738c1a88fd88454c7993655248861461f Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 24 Sep 2020 11:16:35 +0100 Subject: [PATCH 1/5] Keep hyperspy signal metadata. --- pguresvt/hspy.py | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/pguresvt/hspy.py b/pguresvt/hspy.py index b9c1ebf..357b004 100644 --- a/pguresvt/hspy.py +++ b/pguresvt/hspy.py @@ -1,8 +1,6 @@ # Author: Tom Furnival # License: GPLv3 -from hyperspy.signals import BaseSignal - from .svt import SVT @@ -52,16 +50,6 @@ def _prepare_to_denoise(self, signal): f"Expected 1D or 2D signal - got dimension {sig_dim}" ) - def _denoised_data_to_signal(self): - """Converts denoised data back to a HyperSpy signal.""" - signal = BaseSignal(self.Y_) - - if self._signal_type == "spectrum": - return signal.as_signal1D(2) - - if self._signal_type == "image": - return signal.as_signal2D((1, 2)) - def denoise(self, signal): """Denoises an arbitrary HyperSpy signal. @@ -80,4 +68,4 @@ def denoise(self, signal): super(HSPYSVT, self).denoise(self._X) - return self._denoised_data_to_signal() + return signal._deepcopy_with_new_data(self.Y_.T) From f5d977102899deac467f26c259f8893e3bae5e85 Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 24 Sep 2020 11:24:27 +0100 Subject: [PATCH 2/5] Add title to metadata. --- pguresvt/hspy.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pguresvt/hspy.py b/pguresvt/hspy.py index 357b004..5116e5d 100644 --- a/pguresvt/hspy.py +++ b/pguresvt/hspy.py @@ -68,4 +68,8 @@ def denoise(self, signal): super(HSPYSVT, self).denoise(self._X) - return signal._deepcopy_with_new_data(self.Y_.T) + denoised_signal = signal._deepcopy_with_new_data(self.Y_.T) + new_title = f"Denoised {signal.metadata.General.title}".strip() + denoised_signal.metadata.General.title = new_title + + return denoised_signal From 2a54cfeb2aad2059c75b0d8cc54c08c5fcc20caf Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 24 Sep 2020 11:25:19 +0100 Subject: [PATCH 3/5] Fix example notebook (negative value error). --- examples/PGURE-SVT-HyperSpy-Demo.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/PGURE-SVT-HyperSpy-Demo.ipynb b/examples/PGURE-SVT-HyperSpy-Demo.ipynb index 83a256d..9159838 100644 --- a/examples/PGURE-SVT-HyperSpy-Demo.ipynb +++ b/examples/PGURE-SVT-HyperSpy-Demo.ipynb @@ -78,7 +78,7 @@ "source": [ "random_state = 123\n", "detector_gain = 0.1\n", - "detector_offset = 0.1\n", + "detector_offset = 0.5\n", "detector_sigma = 0.1\n", "\n", "noisy_data = mixed_noise_model(\n", @@ -228,7 +228,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.7" + "version": "3.7.9" } }, "nbformat": 4, From 4a223eb74ed6ec1d21b89067cd258df36d28c284 Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 24 Sep 2020 11:27:02 +0100 Subject: [PATCH 4/5] Remove optional openblas dependency to compile C extension. --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 676beb6..13b50c8 100644 --- a/setup.py +++ b/setup.py @@ -11,7 +11,7 @@ "pguresvt._pguresvt", sources=["pguresvt/_pguresvt.pyx"], include_dirs=["pguresvt/", "src/", np.get_include()], - libraries=["openblas", "lapack", "armadillo", "nlopt"], + libraries=["lapack", "armadillo", "nlopt"], language="c++", extra_compile_args=[ "-fPIC", From 2150463e9a6aca2d201b8b98eea9e5bfeabde63b Mon Sep 17 00:00:00 2001 From: Eric Prestat Date: Thu, 24 Sep 2020 13:54:03 +0100 Subject: [PATCH 5/5] Fix tranposition. --- pguresvt/hspy.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pguresvt/hspy.py b/pguresvt/hspy.py index 5116e5d..0587c3b 100644 --- a/pguresvt/hspy.py +++ b/pguresvt/hspy.py @@ -68,7 +68,12 @@ def denoise(self, signal): super(HSPYSVT, self).denoise(self._X) - denoised_signal = signal._deepcopy_with_new_data(self.Y_.T) + if self._signal_type == "spectrum": + axes = (1, 0) + elif self._signal_type == "image": + axes = (2, 0, 1) + + denoised_signal = signal._deepcopy_with_new_data(self.Y_.transpose(axes)) new_title = f"Denoised {signal.metadata.General.title}".strip() denoised_signal.metadata.General.title = new_title