def execute(self):
        if self.operation == "pass":
            idx = np.where((self.freqs_in > self.limits[0]) 
                           & (self.limits[1] < self.freqs_in))
        else:
            idx = np.where((self.freqs_in < self.limits[0]) 
                           & (self.freqs_in > self.limits[1]))
        self.freqs = self.freqs_in[idx] 
        self.fft = np.abs(self.fft_in[idx])**2
        
        if self.make_filtered:
            fft_out = 0*self.fft_in
            fft_out[idx] = self.fft_in[idx]
            
            if len(fft_out) > 2:
                self.filtered = np.fft.irfft(fft_out) 
                
                self.filtered = self.filtered / np.hamming(len(self.filtered))
        try:
            maxidx = np.argmax(self.fft)
            self.peak_hz = self.freqs[maxidx]
            self.phase = np.angle(self.fft_in)[idx][maxidx]
        except ValueError:
            pass #temporary fix for no-data situations
dataset/ETHPy150Open thearn/webcam-pulse-detector/lib/signalProcess.py/bandProcess.execute/swapped operands of `<`