コード例 #1
0
ファイル: remove_baseline.py プロジェクト: sumesh1/PyHAT
def remove_baseline(df, method='ALS', segment=True, params=None):
    wvls = np.array(df['wvl'].columns.values, dtype='float')
    spectra = np.array(df['wvl'], dtype='float')

    # set baseline removal object (br) to the specified method
    if method == 'ALS':
        br = ALS(**params)
    elif method == 'Dietrich':
        br = Dietrich(**params)
    elif method == 'Polyfit':
        br = PolyFit(**params)
    elif method == 'AirPLS':
        br = AirPLS(**params)
    elif method == 'FABC':
        br = FABC(**params)
    elif method == 'KK':
        br = KK(**params)
    elif method == 'Median':
        br = MedianFilter(**params)
    elif method == 'Rubberband':
        br = Rubberband(**params)
    elif method == 'Wavelet a Trous + Spline':
        br = wavelet_spline(**params)
    elif method == 'Min + Interpolate':
        br = minimum_interp(**params)
    else:
        print(f'{method} is not recognized!')
        return 0

    br.fit(wvls, spectra, segment=segment)
    df_baseline = df.copy()
    df_baseline['wvl'] = br.baseline
    df['wvl'] = df['wvl'] - df_baseline['wvl']

    return df, df_baseline
コード例 #2
0
    def run(self):

        methodParameters = {
            'num_iters_': self.n_iter_spin.value(),
            'num_ranges_': self.numOfRangesSpinBox.value()
        }
        return methodParameters, self.getChangedValues(methodParameters,
                                                       Rubberband())
コード例 #3
0
ファイル: remove_baseline.py プロジェクト: tthatcher95/PyHAT
def remove_baseline(df, method='ALS', segment=True, params=None):
    wvls = np.array(df['wvl'].columns.values, dtype='float')
    spectra = np.array(df['wvl'], dtype='float')

    # set baseline removal object (br) to the specified method
    if method == 'ALS':
        br = ALS()
    elif method == 'Dietrich':
        br = Dietrich()
    elif method == 'Polyfit':
        br = PolyFit()
    elif method == 'AirPLS':
        br = AirPLS()
    elif method == 'FABC':
        br = FABC()
    elif method == 'KK':
        br = KK()
    elif method == 'Mario':
        br = Mario()
    elif method == 'Median':
        br = MedianFilter()
    elif method == 'Rubberband':
        br = Rubberband()
    elif method == 'Wavelet a Trous + Spline':
        br = wavelet_spline()
    elif method == 'Min + Interpolate':
        br = minimum_interp()


    else:
        print(method + ' is not recognized!')

    # if parameters are provided, use them to set the parameters of br
    if params is not None:
        for i in params.keys():
            try:
                setattr(br, i, params[i])
            except:
                print('Required keys are:')
                print(br.__dict__.keys())
                print('Exiting without removing baseline!')
                return
    br.fit(wvls, spectra, segment=segment)
    df_baseline = df.copy()
    df_baseline['wvl'] = br.baseline
    df['wvl'] = df['wvl']-df_baseline['wvl']

    return df, df_baseline
コード例 #4
0
 def connectWidgets(self):
     br = Rubberband()
     self.n_iter_spin.setValue(br.num_iters_)
     self.numOfRangesSpinBox.setValue(br.num_ranges_)