def zerof(self, fid, fid_ref): ''' Zerofilling ''' zeropadded = np.concatenate((fid, np.zeros(len(fid_ref) - len(fid)))) if self.realfid: fid_zerf = npirfft(nprfft(zeropadded)) else: fid_zerf = npifft(npfft(zeropadded)) return fid_zerf
def rfft(*args, **kwargs): """MKL rfft has a bug for some shapes. This catches those errors and falls back on numpy rfft. See https://github.com/IntelPython/mkl_fft/issues/57 """ signal.signal(signal.SIGSEGV, segfault) try: return mklrfft(*args, **kwargs) except ValueError as e: if str(e) == string: return nprfft(*args, **kwargs) else: raise e
def mrfft(v): "utility that returns the modulus of the rfft of v" s0 = nprfft(v) s0 = np.sqrt(s0 * s0.conj()) # ref spectrum return s0