Random Number Generators (RNGs) for Noise Header/Object for the FRTW C Library. More...
#include <nttw/array.h>
#include "fourier.h"
Go to the source code of this file.
Functions | |
NTTW_DLL_SYM nttw_integer | getIsum (nttw_integer *radon, const size_t n) |
Returns the Isum of the FRT space. | |
NTTW_DLL_SYM double | getIsum_double (double *radon, const size_t n) |
Returns the Isum of the FRT space as a double. | |
NTTW_DLL_SYM nttw_integer | getIsum_Integer (nttw_integer *radon, const size_t n, const nttw_integer modulus) |
Returns the Isum (modulo the given modulus) of the FRT space. | |
NTTW_DLL_SYM void | drt (const nttw_integer *field, nttw_integer *bins, const int p) |
The Discrete Radon Transform (DRT) of Matus & Flusser, 1993 for 2D arrays. O(n^3). | |
NTTW_DLL_SYM void | drt_dyadic (const nttw_integer *field, nttw_integer *bins, const int n) |
The Dyadic Discrete Radon Transform (DRT) of Hsung et al, 1996 for 2D arrays. O(n^3). | |
NTTW_DLL_SYM void | drt_blockcopy (nttw_integer *datain, nttw_integer *dataout, const int p) |
The Discrete Radon Transform (FRT) of Matus & Flusser, 1993 for 2D arrays. This function uses the intelligent block copy method developed by Imants Svalbe. | |
NTTW_DLL_SYM void | frt (nttw_integer *field, nttw_integer *bins, const int p) |
The Fast Radon Transform (FRT) of Matus & Flusser, 1993 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). This is for prime lengths. | |
NTTW_DLL_SYM void | frt_double (double *field, double *bins, const int p) |
The Fast Radon Transform (FRT) of Matus & Flusser, 1993 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). This is for prime lengths. | |
NTTW_DLL_SYM void | frt_dyadic (nttw_integer *field, nttw_integer *bins, const int n) |
The Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM void | frt_dyadic_double (double *field, double *bins, const int n) |
The Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM void | frt_dyadic_signed (long *field, long *bins, const int n) |
The Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM nttw_integer | idrt (nttw_integer *bins, nttw_integer *result, const int p) |
The Inverse Discrete Radon Transform (iDRT) of Matus & Flusser, 1993 for 2D arrays. O(n^3). | |
NTTW_DLL_SYM nttw_integer | idrt_blockcopy (nttw_integer *datain, nttw_integer *dataout, const int p) |
The Inverse Discrete Radon Transform (iDRT) of Matus & Flusser, 1993 for 2D arrays. This function uses the intelligent block copy method developed by Imants Svalbe. Note m=0 and m=p projections are interchanged in comparision to other DRT functions! | |
NTTW_DLL_SYM nttw_integer | ifrt (nttw_integer *bins, nttw_integer *result, const int p, const int norm) |
The Inverse Fast Radon Transform (iFRT) of Matus & Flusser, 1993 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM double | ifrt_double (double *bins, double *result, const int p, const int norm) |
The Inverse Fast Radon Transform (iFRT) of Matus & Flusser, 1993 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM nttw_integer | ifrt_signed (nttw_integer *bins, long *result, const int p, const int norm) |
The Inverse Fast Radon Transform (iFRT) of Matus & Flusser, 1993 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM nttw_integer | ifrt_dyadic (nttw_integer *bins, nttw_integer *result, const int n, const int norm) |
The Inverse Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM double | ifrt_dyadic_double (double *bins, double *result, const int n, const int norm) |
The Inverse Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM nttw_integer | ifrt_dyadic_signed (nttw_integer *bins, long *result, const int n, const int norm) |
The Inverse Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). | |
NTTW_DLL_SYM nttw_integer | ifrt_dyadic_signed2 (long *bins, long *result, const int n, const int norm) |
The Inverse Dyadic Fast Radon Transform (FRT) of Hsung et al, 1996 for 2D arrays. Fourier Slice Theorem version. Complexity is linear logarithmic in time (same as a 2D FFT). Complete signed array version. | |
NTTW_DLL_SYM void | getSlice (int m, fftw_complex *data, fftw_complex *slice, const int size) |
Extracts the slice at slope m within the FFT space given by data. | |
NTTW_DLL_SYM void | getSlice_Perp (int s, fftw_complex *data, fftw_complex *slice, const int size) |
Extracts the slice at (perp) slope s within the FFT space given by data. | |
NTTW_DLL_SYM void | setSlice (int m, fftw_complex *data, fftw_complex *slice, const int size) |
Sets the slice at slope m within the FFT space given by data. | |
NTTW_DLL_SYM void | setSlice_Perp (int s, fftw_complex *data, fftw_complex *slice, const int size) |
Sets the slice at (perp) slope s within the FFT space given by data. | |
NTTW_DLL_SYM void | dyadic_oversample (nttw_big_integer *data, const int n) |
Constructs the oversample filter required to make FFT space isotropic for dyadic sizes. | |
NTTW_DLL_SYM void | dyadic_1D_filter (nttw_big_integer *data, const int n) |
Constructs the 1D oversample filter required to make FFT space isotropic for dyadic sizes. | |
NTTW_DLL_SYM void | filter_oversampling (fftw_complex *fftSpace, nttw_big_integer *samples, const int n) |
Filters the oversampling within the FFT space for dyadic sizes given by the filter. |
Random Number Generators (RNGs) for Noise Header/Object for the FRTW C Library.
Radon Transforms Header/Object for the FRTW C Library.
FRTW Noise Library
This header provides all the RNGs for producing noise of various types.
This file is part of FRTW Library.
FRTW is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
FRTW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with FRTW. If not, see <http://www.gnu.org/licenses/>.
FRTW Radon Library
This header provides all the discrete operations related to the Radon Transform. It includes the Discrete Radon Transform (FRT) as well as other discretized versions of the Radon Transform.
This file is part of FRTW Library.
FRTW is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
FRTW is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with FRTW. If not, see <http://www.gnu.org/licenses/>.
Definition in file radon.h.