## amitk_filter amitk_filter |

## Synopsis

    enum                AmitkFilter;
    #define             AMITK_FILTER_FFT_SIZE
    AmitkRawData*       amitk_filter_calculate_gaussian_kernel_complex
                                                            (const AmitkVoxel kernel_size,
                                                             const AmitkPoint voxel_size,
                                                             const amide_real_t fwhm);
    void                amitk_filter_3D_FFT                 (AmitkRawData *data,
                                                             gsl_fft_complex_wavetable *wavetable,
                                                             gsl_fft_complex_workspace *workspace);
    void                amitk_filter_inverse_3D_FFT         (AmitkRawData *data,
                                                             gsl_fft_complex_wavetable *wavetable,
                                                             gsl_fft_complex_workspace *workspace);
    void                amitk_filter_complex_mult           (AmitkRawData *data,
                                                             AmitkRawData *kernel);
    amide_data_t        amitk_filter_find_median_by_partial_sort
                                                            (amide_data_t *partial_sort_data,
                                                             gint size);
    const gchar*        amitk_filter_get_name               (const AmitkFilter filter);

## Description

## Details

### enum AmitkFilter

    typedef enum {
      AMITK_FILTER_GAUSSIAN,
      AMITK_FILTER_MEDIAN_LINEAR,
      AMITK_FILTER_MEDIAN_3D,
      AMITK_FILTER_NUM
    } AmitkFilter;

### AMITK_FILTER_FFT_SIZE

    #define AMITK_FILTER_FFT_SIZE 64

### amitk_filter_calculate_gaussian_kernel_complex ()

    AmitkRawData*       amitk_filter_calculate_gaussian_kernel_complex
                                                            (const AmitkVoxel kernel_size,
                                                             const AmitkPoint voxel_size,
                                                             const amide_real_t fwhm);

`kernel_size` : |
`voxel_size` : |
`fwhm` : |
Returns : |

### amitk_filter_3D_FFT ()

    void                amitk_filter_3D_FFT                 (AmitkRawData *data,
                                                             gsl_fft_complex_wavetable *wavetable,
                                                             gsl_fft_complex_workspace *workspace);

`data` : |
`wavetable` : |
`workspace` : |

### amitk_filter_inverse_3D_FFT ()

    void                amitk_filter_inverse_3D_FFT         (AmitkRawData *data,
                                                             gsl_fft_complex_wavetable *wavetable,
                                                             gsl_fft_complex_workspace *workspace);

`data` : |
`wavetable` : |
`workspace` : |

### amitk_filter_complex_mult ()

    void                amitk_filter_complex_mult           (AmitkRawData *data,
                                                             AmitkRawData *kernel);

`data` : |
`kernel` : |

### amitk_filter_find_median_by_partial_sort ()

    amide_data_t        amitk_filter_find_median_by_partial_sort
                                                            (amide_data_t *partial_sort_data,
                                                             gint size);

`partial_sort_data` : |
`size` : |
Returns : |

### amitk_filter_get_name ()

    const gchar*        amitk_filter_get_name               (const AmitkFilter filter);

`filter` : |
Returns : |