diff --git a/autofit/mapper/prior/vectorized.py b/autofit/mapper/prior/vectorized.py index 1f4f95072..6e72aaea6 100644 --- a/autofit/mapper/prior/vectorized.py +++ b/autofit/mapper/prior/vectorized.py @@ -1,5 +1,4 @@ import numpy as np -from scipy.stats import norm from autofit.mapper.prior.gaussian import GaussianPrior from autofit.mapper.prior.truncated_gaussian import TruncatedGaussianPrior @@ -97,6 +96,8 @@ def __init__(self, model: AbstractPriorModel): uppers - self.truncated_gaussian_means ) / self.truncated_gaussian_sigmas + from scipy.stats import norm + self.truncated_gaussian_cdf_a = norm.cdf(a) self.truncated_gaussian_cdf_b = norm.cdf(b) @@ -153,6 +154,8 @@ def __call__(self, cube: np.ndarray) -> np.ndarray: # 3) Batch‐process all GaussianPriors if self.gaussian_idx: + from scipy.stats import norm + subcube = cube[:, self.gaussian_idx] # (n_samples, n_gaussians) inv = norm.ppf(subcube) # inverse CDF of standard normal @@ -163,6 +166,8 @@ def __call__(self, cube: np.ndarray) -> np.ndarray: subcube = cube[:, self.truncated_gaussian_idx] # (n_samples, n_truncs) + from scipy.stats import norm + truncated_cdf = self.truncated_gaussian_cdf_a + subcube * ( self.truncated_gaussian_cdf_b - self.truncated_gaussian_cdf_a )