From f2d26f643efbab984344f13a1c96399d2eb1eb34 Mon Sep 17 00:00:00 2001 From: mVenetos97 <53448901+mVenetos97@users.noreply.github.com> Date: Mon, 10 Jul 2023 09:31:06 -0700 Subject: [PATCH 1/2] fixed 0Hz bug in apodization --- src/mrsimulator/signal_processor/apodization.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/mrsimulator/signal_processor/apodization.py b/src/mrsimulator/signal_processor/apodization.py index 5dd84aae0..22446b8bf 100644 --- a/src/mrsimulator/signal_processor/apodization.py +++ b/src/mrsimulator/signal_processor/apodization.py @@ -126,7 +126,11 @@ def str_to_quantity(cls, v, values): def fn(self, x): x = self.get_coordinates_in_units(x, unit=1.0 / self.property_units["FWHM"]) sigma = self.FWHM / 2.354820045030949 - return 1.0 if self.FWHM == 0.0 else np.exp(-2.0 * (np.pi * sigma * x) ** 2) + return ( + np.ones_like(x) + if self.FWHM == 0.0 + else np.exp(-2.0 * (np.pi * sigma * x) ** 2) + ) class Exponential(Apodization): @@ -175,7 +179,11 @@ def str_to_quantity(cls, v, values): def fn(self, x): x = self.get_coordinates_in_units(x, unit=1.0 / self.property_units["FWHM"]) - return 1.0 if self.FWHM == 0.0 else np.exp(-self.FWHM * np.pi * np.abs(x)) + return ( + np.ones_like(x) + if self.FWHM == 0.0 + else np.exp(-self.FWHM * np.pi * np.abs(x)) + ) class SkewedGaussian(Apodization): From ded33fc02fa004a5a9c78a85638ed818bb759117 Mon Sep 17 00:00:00 2001 From: mVenetos97 <53448901+mVenetos97@users.noreply.github.com> Date: Tue, 11 Jul 2023 07:20:53 -0700 Subject: [PATCH 2/2] SkewedGaussian fix --- src/mrsimulator/signal_processor/apodization.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mrsimulator/signal_processor/apodization.py b/src/mrsimulator/signal_processor/apodization.py index 22446b8bf..115c56a88 100644 --- a/src/mrsimulator/signal_processor/apodization.py +++ b/src/mrsimulator/signal_processor/apodization.py @@ -248,7 +248,7 @@ def fn(self, x): prob_func = [np.exp(-(0.5) * (sigma * j) ** 2) for j in x] cum_prob_func = [0.5 + 0.5 * erf(self.skew * j / np.sqrt(2)) for j in x] sg = np.asarray([a * b for a, b in zip(prob_func, cum_prob_func)]) - return 1.0 if self.skew == 0.0 else sg + return np.ones_like(x) if self.FWHM == 0.0 else sg class TopHat(Apodization):