A class for FFT filtering General-mode spectroscopic imaging data as reported in: [Rapid mapping of polarization switching through complete information acquisition](http://www.nature.com/articles/ncomms13290)
Created on Tue Nov 07 11:48:53 2017
@author: Suhas Somnath
Filters the entire h5 dataset with the given filtering parameters. :param h5_main: Dataset to process :type h5_main: h5py.Dataset object :param frequency_filters: Frequency (vertical) filters to apply to signal :type frequency_filters: (Optional) single or list of pycroscopy.fft.FrequencyFilter objects :param noise_threshold: Noise tolerance to apply to data. Value must be within (0, 1) :type noise_threshold: (Optional) float. Default - None :param write_filtered: Whether or not to write the filtered data to file :type write_filtered: (Optional) bool. Default - True :param write_condensed: Whether or not to write the condensed data in frequency space to file. Use this for datasets that are very large but sparse in frequency space. :type write_condensed: Optional) bool. Default - False :param num_pix: Number of pixels to use for filtering. More pixels means a lower noise floor and the ability to pick up weaker signals. Use only if absolutely necessary. This value must be a divisor of the number of pixels in the dataset :type num_pix: (Optional) uint. Default - 1 :param phase_rad: Degrees by which the output is rotated with respect to the input to compensate for phase lag. This feature has NOT yet been implemented. :type phase_rad: (Optional). float :param h5_target_group: Location where to look for existing results and to place newly computed results. Use this kwarg if the results need to be written to a different HDF5 file. By default, this value is set to the parent group containing h5_main :type h5_target_group: h5py.Group, optional. Default = None :param kwargs: Please see Process class for additional inputs :type kwargs: (Optional). dictionary.