Functions

K:/Projects/scplusplus/gpl_releases/frtw/include/radon.h File Reference

Random Number Generators (RNGs) for Noise Header/Object for the FRTW C Library. More...

#include <nttw/array.h>
#include "fourier.h"
Include dependency graph for radon.h:
This graph shows which files directly or indirectly include this file:

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.

Detailed Description

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/>.

Author:
Steve Park & Dave Geyer, 1998

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/>.

Author:
Shekhar S. Chandra, 2008-9

Definition in file radon.h.