Open source Very Long Baseline Interferometry
OpenVLBI
Modules | Classes | Variables
Digital Signal Processing API

The DSP API is a collection of essential routines used in astronomy signal processing
More...

Modules

 DSP API defines
 
 DSP API types
 
 DSP API Fourier transform related functions
 
 DSP API Linear buffer filtering functions
 
 DSP API Convolution and cross-correlation functions
 
 DSP API Buffer statistics functions
 
 DSP API Buffer editing functions
 
 DSP API Stream type management functions
 
 DSP API Signal generation functions
 
 DSP API Stream reconstruction
 
 DSP API File read/write functions
 
 DSP API FITS Extensions functions
 

Classes

struct  dsp_point_t
 Indicates a dot or line inside a dsp_stream. More...
 

Variables

double * dsp_point_t::location
 Center of the point.
 
int dsp_point_t::dims
 Dimensions limit of the point.
 
double * dsp_offset_t::offset
 Center of the point.
 
int dsp_offset_t::dims
 Dimensions limit of the point.
 
dsp_point dsp_star_t::center
 The center of the star.
 
double dsp_star_t::diameter
 The diameter of the star.
 
double dsp_star_t::peak
 The peak of the star.
 
double dsp_star_t::flux
 The flux of the star.
 
double dsp_star_t::theta
 The deviation of the star.
 
char dsp_star_t::name [DSP_NAME_SIZE]
 The name of the star.
 
double dsp_triangle_t::index
 The index of the triangle.
 
int dsp_triangle_t::dims
 The dimensions of the triangle.
 
double * dsp_triangle_t::theta
 The inclination of the triangle.
 
double * dsp_triangle_t::sizes
 The sizes of the triangle.
 
double * dsp_triangle_t::ratios
 The sizes of the triangle.
 
dsp_stardsp_triangle_t::stars
 The stars of the triangle.
 
int dsp_triangle_t::stars_count
 The number of stars of the triangle.
 
double * dsp_align_info_t::offset
 Translation offset.
 
double * dsp_align_info_t::center
 Center of rotation coordinates.
 
double * dsp_align_info_t::radians
 Rotational offset.
 
double * dsp_align_info_t::factor
 Scaling factor.
 
int dsp_align_info_t::dims
 Dimensions limit.
 
dsp_triangle dsp_align_info_t::triangles [2]
 Reference triangles.
 
int dsp_align_info_t::triangles_count
 Triangles quantity.
 
double dsp_align_info_t::score
 Match score.
 
double dsp_align_info_t::decimals
 Decimals.
 
int dsp_align_info_t::err
 Errors.
 
double   dsp_complex::real
 Real part of the complex number.
 
double   dsp_complex::imaginary
 Imaginary part of the complex number.
 
struct {
   double   dsp_complex::real
 Real part of the complex number.
 
   double   dsp_complex::imaginary
 Imaginary part of the complex number.
 
} * dsp_complex::complex
 Complex struct type array.
 
complex_t * dsp_complex::pairs
 Complex number type array used with libFFTW.
 
double * dsp_complex::buf
 Linear double array containing complex numbers.
 
int dsp_region_t::start
 Starting point within the buffer.
 
int dsp_region_t::len
 Length of the region.
 
struct {
dsp_location_t::xyz
 The location in xyz coordinates.
 
struct {
dsp_location_t::geographic
 The location in geographic coordinates.
 
double dsp_location_t::coordinates [3]
 A 3d double array containing the location.
 
char dsp_stream_t::name [DSP_NAME_SIZE]
 Friendly name of the stream.
 
int dsp_stream_t::is_copy
 Increments by one on the copied stream.
 
int dsp_stream_t::len
 The buffers length.
 
int dsp_stream_t::dims
 Number of dimensions of the buffers.
 
int * dsp_stream_t::sizes
 Sizes of each dimension.
 
dsp_t * dsp_stream_t::buf
 buffer
 
dsp_complex dsp_stream_t::dft
 Fourier transform.
 
void * dsp_stream_t::arg
 Optional argument for the func() callback.
 
struct dsp_stream_tdsp_stream_t::parent
 The parent stream.
 
struct dsp_stream_t ** dsp_stream_t::children
 Children streams.
 
int dsp_stream_t::child_count
 Children streams count.
 
dsp_locationdsp_stream_t::location
 Location coordinates pointer, can be extended to the main buffer size as location companion.
 
double * dsp_stream_t::target
 Target coordinates.
 
struct timespec dsp_stream_t::starttimeutc
 Time at the beginning of the stream.
 
double dsp_stream_t::wavelength
 Wavelength observed, used as reference with signal generators or filters.
 
double dsp_stream_t::focal_ratio
 Focal ratio.
 
double dsp_stream_t::diameter
 Diameter.
 
double dsp_stream_t::SNR
 SNR.
 
int dsp_stream_t::red
 Red pixel (Bayer)
 
double * dsp_stream_t::pixel_sizes
 Sensor size.
 
double dsp_stream_t::samplerate
 Sample rate of the buffers.
 
pthread_t dsp_stream_t::thread
 Thread type for future usage.
 
dsp_func_t dsp_stream_t::func
 Callback function.
 
struct dsp_stream_tdsp_stream_t::magnitude
 Fourier transform magnitude.
 
struct dsp_stream_tdsp_stream_t::phase
 Fourier transform phase.
 
dsp_regiondsp_stream_t::ROI
 Regions of interest for each dimension.
 
dsp_stardsp_stream_t::stars
 Stars or objects identified into the buffers - TODO.
 
int dsp_stream_t::stars_count
 Stars or objects quantity.
 
dsp_triangledsp_stream_t::triangles
 Triangles of stars or objects.
 
int dsp_stream_t::triangles_count
 Triangles of stars or objects quantity.
 
dsp_align_info dsp_stream_t::align_info
 Align/scale/rotation settings.
 
int dsp_stream_t::frame_number
 Frame number (if part of a series)
 

Detailed Description

The DSP API is used for processing monodimensional or multidimensional buffers,
generating, tranforming, stack, processing buffers, aligning, convoluting arrays,
converting array element types, generate statistics, extract informations from buffers, convolute or
cross-correlate different single or multi dimensional streams, rotate, scale, crop images.

Author
Ilia Platone
Version
1.0.0
Date
2017-2022