Instrument Neutral Distributed Interface INDI  2.0.2
Modules | Classes | Variables
Digital Signal Processing API

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

Detailed Description

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

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

Variable Documentation

◆ align_info

dsp_align_info dsp_stream_t::align_info

Align/scale/rotation settings.

Definition at line 425 of file dsp.h.

◆ arg

void* dsp_stream_t::arg

Optional argument for the func() callback.

Definition at line 379 of file dsp.h.

◆ buf [1/2]

double* dsp_complex::buf

Linear double array containing complex numbers.

Definition at line 310 of file dsp.h.

◆ buf [2/2]

dsp_t* dsp_stream_t::buf

buffer

Definition at line 375 of file dsp.h.

◆ center [1/2]

dsp_point dsp_star_t::center

The center of the star.

Definition at line 240 of file dsp.h.

◆ center [2/2]

double* dsp_align_info_t::center

Center of rotation coordinates.

Definition at line 274 of file dsp.h.

◆ child_count

int dsp_stream_t::child_count

Children streams count.

Definition at line 385 of file dsp.h.

◆ children

struct dsp_stream_t** dsp_stream_t::children

Children streams.

Definition at line 383 of file dsp.h.

◆ 

struct { ... } * dsp_complex::complex

Complex struct type array.

◆ coordinates

double dsp_location_t::coordinates[3]

A 3d double array containing the location.

Definition at line 344 of file dsp.h.

◆ decimals

double dsp_align_info_t::decimals

Decimals.

Definition at line 288 of file dsp.h.

◆ dft

dsp_complex dsp_stream_t::dft

Fourier transform.

Definition at line 377 of file dsp.h.

◆ diameter [1/2]

double dsp_star_t::diameter

The diameter of the star.

Definition at line 242 of file dsp.h.

◆ diameter [2/2]

double dsp_stream_t::diameter

Diameter.

Definition at line 397 of file dsp.h.

◆ dims [1/5]

int dsp_point_t::dims

Dimensions limit of the point.

Definition at line 220 of file dsp.h.

◆ dims [2/5]

int dsp_offset_t::dims

Dimensions limit of the point.

Definition at line 231 of file dsp.h.

◆ dims [3/5]

int dsp_triangle_t::dims

The dimensions of the triangle.

Definition at line 255 of file dsp.h.

◆ dims [4/5]

int dsp_align_info_t::dims

Dimensions limit.

Definition at line 280 of file dsp.h.

◆ dims [5/5]

int dsp_stream_t::dims

Number of dimensions of the buffers.

Definition at line 371 of file dsp.h.

◆ el [1/2]

double dsp_location_t::el

Definition at line 341 of file dsp.h.

◆  [2/2]

double { ... } ::el

Definition at line 341 of file dsp.h.

◆ err

int dsp_align_info_t::err

Errors.

Definition at line 290 of file dsp.h.

◆ factor

double* dsp_align_info_t::factor

Scaling factor.

Definition at line 278 of file dsp.h.

◆ focal_ratio

double dsp_stream_t::focal_ratio

Focal ratio.

Definition at line 395 of file dsp.h.

◆ frame_number

int dsp_stream_t::frame_number

Frame number (if part of a series)

Definition at line 427 of file dsp.h.

◆ func

dsp_func_t dsp_stream_t::func

Callback function.

Definition at line 409 of file dsp.h.

◆ 

struct { ... } dsp_location_t::geographic

The location in geographic coordinates.

◆ imaginary [1/2]

double dsp_complex::imaginary

Imaginary part of the complex number.

Definition at line 305 of file dsp.h.

◆  [2/2]

double { ... } ::imaginary

Imaginary part of the complex number.

Definition at line 305 of file dsp.h.

◆ index

double dsp_triangle_t::index

The index of the triangle.

Definition at line 253 of file dsp.h.

◆ is_copy

int dsp_stream_t::is_copy

Increments by one on the copied stream.

Definition at line 367 of file dsp.h.

◆ lat [1/2]

double dsp_location_t::lat

Definition at line 340 of file dsp.h.

◆  [2/2]

double { ... } ::lat

Definition at line 340 of file dsp.h.

◆ len [1/2]

int dsp_region_t::len

Length of the region.

Definition at line 321 of file dsp.h.

◆ len [2/2]

int dsp_stream_t::len

The buffers length.

Definition at line 369 of file dsp.h.

◆ location [1/2]

double* dsp_point_t::location

Center of the point.

Definition at line 218 of file dsp.h.

◆ location [2/2]

dsp_location* dsp_stream_t::location

Location coordinates pointer, can be extended to the main buffer size as location companion.

Definition at line 387 of file dsp.h.

◆  [1/2]

double { ... } ::lon

Definition at line 339 of file dsp.h.

◆ lon [2/2]

double dsp_location_t::lon

Definition at line 339 of file dsp.h.

◆ magnitude

struct dsp_stream_t* dsp_stream_t::magnitude

Fourier transform magnitude.

Definition at line 411 of file dsp.h.

◆ name [1/2]

char dsp_stream_t::name[128]

Friendly name of the stream.

Definition at line 365 of file dsp.h.

◆ name [2/2]

char dsp_star_t::name[150]

The name of the star.

Definition at line 244 of file dsp.h.

◆ offset [1/2]

double* dsp_offset_t::offset

Center of the point.

Definition at line 229 of file dsp.h.

◆ offset [2/2]

double* dsp_align_info_t::offset

Translation offset.

Definition at line 272 of file dsp.h.

◆ pairs

complex_t* dsp_complex::pairs

Complex number type array used with libFFTW.

Definition at line 308 of file dsp.h.

◆ parent

struct dsp_stream_t* dsp_stream_t::parent

The parent stream.

Definition at line 381 of file dsp.h.

◆ phase

struct dsp_stream_t* dsp_stream_t::phase

Fourier transform phase.

Definition at line 413 of file dsp.h.

◆ pixel_sizes

double* dsp_stream_t::pixel_sizes

Sensor size.

Definition at line 403 of file dsp.h.

◆ radians

double* dsp_align_info_t::radians

Rotational offset.

Definition at line 276 of file dsp.h.

◆ ratios

double* dsp_triangle_t::ratios

The sizes of the triangle.

Definition at line 261 of file dsp.h.

◆ real [1/2]

double dsp_complex::real

Real part of the complex number.

Definition at line 303 of file dsp.h.

◆  [2/2]

double { ... } ::real

Real part of the complex number.

Definition at line 303 of file dsp.h.

◆ red

int dsp_stream_t::red

Red pixel (Bayer)

Definition at line 401 of file dsp.h.

◆ ROI

dsp_region* dsp_stream_t::ROI

Regions of interest for each dimension.

Definition at line 415 of file dsp.h.

◆ samplerate

double dsp_stream_t::samplerate

Sample rate of the buffers.

Definition at line 405 of file dsp.h.

◆ score

double dsp_align_info_t::score

Match score.

Definition at line 286 of file dsp.h.

◆ sizes [1/2]

double* dsp_triangle_t::sizes

The sizes of the triangle.

Definition at line 259 of file dsp.h.

◆ sizes [2/2]

int* dsp_stream_t::sizes

Sizes of each dimension.

Definition at line 373 of file dsp.h.

◆ SNR

double dsp_stream_t::SNR

SNR.

Definition at line 399 of file dsp.h.

◆ stars [1/2]

dsp_star* dsp_triangle_t::stars

The stars of the triangle.

Definition at line 263 of file dsp.h.

◆ stars [2/2]

dsp_star* dsp_stream_t::stars

Stars or objects identified into the buffers - TODO.

Definition at line 417 of file dsp.h.

◆ stars_count

int dsp_stream_t::stars_count

Stars or objects quantity.

Definition at line 419 of file dsp.h.

◆ start

int dsp_region_t::start

Starting point within the buffer.

Definition at line 319 of file dsp.h.

◆ starttimeutc

struct timespec dsp_stream_t::starttimeutc

Time at the beginning of the stream.

Definition at line 389 of file dsp.h.

◆ target

double* dsp_stream_t::target

Target coordinates.

Definition at line 389 of file dsp.h.

◆ theta

double* dsp_triangle_t::theta

The inclination of the triangle.

Definition at line 257 of file dsp.h.

◆ thread

pthread_t dsp_stream_t::thread

Thread type for future usage.

Definition at line 407 of file dsp.h.

◆ triangles [1/2]

dsp_triangle dsp_align_info_t::triangles[2]

Reference triangles.

Definition at line 282 of file dsp.h.

◆ triangles [2/2]

dsp_triangle* dsp_stream_t::triangles

Triangles of stars or objects.

Definition at line 421 of file dsp.h.

◆ triangles_count [1/2]

int dsp_align_info_t::triangles_count

Triangles quantity.

Definition at line 284 of file dsp.h.

◆ triangles_count [2/2]

int dsp_stream_t::triangles_count

Triangles of stars or objects quantity.

Definition at line 423 of file dsp.h.

◆ wavelength

double dsp_stream_t::wavelength

Wavelength observed, used as reference with signal generators or filters.

Definition at line 393 of file dsp.h.

◆ x [1/2]

double dsp_location_t::x

Definition at line 332 of file dsp.h.

◆  [2/2]

double { ... } ::x

Definition at line 332 of file dsp.h.

◆ 

struct { ... } dsp_location_t::xyz

The location in xyz coordinates.

◆  [1/2]

double { ... } ::y

Definition at line 333 of file dsp.h.

◆ y [2/2]

double dsp_location_t::y

Definition at line 333 of file dsp.h.

◆ z [1/2]

double dsp_location_t::z

Definition at line 334 of file dsp.h.

◆  [2/2]

double { ... } ::z

Definition at line 334 of file dsp.h.