tdwidth is a value used in the code that is unclear. NAXIS1 is not required as a parameter in general, should use a descriptive keyword instead of a FITS keyword.
In data_handler, there is this code:
#EE For now I'm not using a shoulder. This is ok as long as
## I'm analyzing each coarse channel individually.
#EE In general this parameter is an integer (even number).
#This gives two regions, each of n*steps, around spectra[i]
self.shoulder_size = 0
self.tdwidth = self.fftlen + self.shoulder_size * self.tsteps
Unclear why not just using FFT length.