GRASP Routines: Time-Frequency Methods

- Construction of two dimensional `time-frequency' (TF) maps of the time series data,
- Search for one-dimensional structures in the map.
- Use a statistic based on the length and/or the intensity of the line to determine whether the structure is due to a signal.

In order to improve the computation/communication ratio during code parallelization we introduce the concepts of segment and subsegment. The master process sends out large chunks of data called data segments. Each data segment contains many subsegments and the slave processes compute the TF map for each subsegment in turn. The sizes of the segments and the subsegments are user defined. Also some points at the beginning and the end of each segments are not analysed. This can, of course, be compensated for by padding. The number of points skipped at the beginning and end are termed PRESAFETY and POSTSAFETY respectively and are user defined.

- Construction of the TF map
- Steger's Line Detection Routines
- Structure:
`struct struct_tfparam` - Function:
`time_freq_map()` - Function
`compute_scalefactor()` - Function
`rescale()` - Function
`normalize_picture()` - Function
`gen_quasiperiodic_signal()` - Function:
`ppmprint()` - Function:
`pgmprint()` - Function:
`plottf()` - Function:
`get_line_lens()` - Function:
`get_lines()` - Example: tfmain program