Example #1
0
    def fit_water(self,
                  line_broadening=5,
                  zerofill=100,
                  filt_method=None,
                  min_ppm=-5.0,
                  max_ppm=5.0):
        """

        """
        # Get the water spectrum as well:
        f_hz, w_spectra = ana.get_spectra(self.water_fid,
                                          line_broadening=line_broadening,
                                          zerofill=zerofill,
                                          filt_method=filt_method)

        f_ppm = ut.freq_to_ppm(f_hz)
        # Averaging across echos:
        self.water_spectra = np.mean(w_spectra, 1)
        model, signal, params = ana.fit_lorentzian(self.water_spectra,
                                                   self.f_ppm,
                                                   lb=min_ppm,
                                                   ub=max_ppm)

        # Store the params:
        self.water_model = model
        self.water_signal = signal
        self.water_params = params
        self.water_idx = ut.make_idx(self.f_ppm, min_ppm, max_ppm)
        mean_params = stats.nanmean(params, 0)
        self.water_auc = self._calc_auc(ut.lorentzian, params, self.water_idx)
Example #2
0
    def fit_water(self, line_broadening=5, zerofill=100,
                 filt_method=None, min_ppm=-5.0, max_ppm=5.0):
        """

        """
        # Get the water spectrum as well:
        f_hz, w_spectra = ana.get_spectra(self.water_fid,
                                          line_broadening=line_broadening,
                                          zerofill=zerofill,
                                          filt_method=filt_method)

        f_ppm = ut.freq_to_ppm(f_hz)
        # Averaging across echos:
        self.water_spectra = np.mean(w_spectra, 1)
        model, signal, params = ana.fit_lorentzian(self.water_spectra,
                                                   self.f_ppm,
                                                   lb=min_ppm,
                                                   ub=max_ppm)

        # Store the params:
        self.water_model = model
        self.water_signal = signal
        self.water_params = params
        self.water_idx = ut.make_idx(self.f_ppm, min_ppm, max_ppm)
        mean_params = stats.nanmean(params, 0)
        self.water_auc = self._calc_auc(ut.lorentzian, params, self.water_idx)
Example #3
0
    def fit_naa(self, reject_outliers=3.0, fit_lb=1.8, fit_ub=2.4,
                 phase_correct=True):
        """
        Fit a Lorentzian function to the NAA peak at ~ 2 ppm.  Example of
        fitting inverted peak: Foerster et al. 2013, An imbalance between
        excitatory and inhibitory neurotransmitters in amyothrophic lateral
        sclerosis revealed by use of 3T proton MRS
        """
        model, signal, params = ana.fit_lorentzian(self.diff_spectra,
                                                   self.f_ppm,
                                                   lb=fit_lb,
                                                   ub=fit_ub)

        # Store the params:
        self.naa_model = model
        self.naa_signal = signal
        self.naa_params = params
        self.naa_idx = ut.make_idx(self.f_ppm, fit_lb, fit_ub)
        mean_params = stats.nanmean(params, 0)
        self.naa_auc = self._calc_auc(ut.lorentzian, params, self.naa_idx)
Example #4
0
    def fit_naa(self, reject_outliers=3.0, fit_lb=1.8, fit_ub=2.4,
                 phase_correct=True):
        """
        Fit a Lorentzian function to the NAA peak at ~ 2 ppm.  Example of
        fitting inverted peak: Foerster et al. 2013, An imbalance between
        excitatory and inhibitory neurotransmitters in amyothrophic lateral
        sclerosis revealed by use of 3T proton MRS
        """
        model, signal, params = ana.fit_lorentzian(self.diff_spectra,
                                                   self.f_ppm,
                                                   lb=fit_lb,
                                                   ub=fit_ub)

        # Store the params:
        self.naa_model = model
        self.naa_signal = signal
        self.naa_params = params
        self.naa_idx = ut.make_idx(self.f_ppm, fit_lb, fit_ub)
        mean_params = stats.nanmean(params, 0)
        self.naa_auc = self._calc_auc(ut.lorentzian, params, self.naa_idx)