28#define DLL_EXPORT __declspec(dllexport)
30#define DLL_EXPORT extern
37#define __bswap_16(a) __builtin_bswap16(a)
38#define __bswap_32(a) __builtin_bswap32(a)
39#define __bswap_64(a) __builtin_bswap64(a)
73#define DSP_MAX_STARS 200
81#define dsp_t_min -dsp_t_max
83#define DSP_NAME_SIZE 128
137#define DSP_DEBUG_INFO 0
138#define DSP_DEBUG_ERROR 1
139#define DSP_DEBUG_WARNING 2
140#define DSP_DEBUG_DEBUG 3
141#define pdbg(x, ...) ({ \
144time_t t = time(NULL); \
145struct tm tm = *localtime(&t); \
146clock_gettime(CLOCK_REALTIME, &ts); \
147sprintf(str, "[%04d-%02d-%02dT%02d:%02d:%02d.%03ld ", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec, ts.tv_nsec/1000000); \
149 case DSP_DEBUG_ERROR: \
150 sprintf(&str[strlen(str)], "ERRO]"); \
152 case DSP_DEBUG_WARNING: \
153 sprintf(&str[strlen(str)], "WARN]"); \
155 case DSP_DEBUG_DEBUG: \
156 sprintf(&str[strlen(str)], "DEBG]"); \
159 sprintf(&str[strlen(str)], "INFO]"); \
162if(dsp_get_app_name() != NULL) \
163 sprintf(&str[strlen(str)], "[%s]", dsp_get_app_name()); \
164sprintf(&str[strlen(str)], " "); \
165sprintf(&str[strlen(str)], __VA_ARGS__); \
168#define pinfo(...) pdbg(DSP_DEBUG_INFO, __VA_ARGS__)
169#define perr(...) pdbg(DSP_DEBUG_ERROR, __VA_ARGS__)
170#define pwarn(...) pdbg(DSP_DEBUG_WARNING, __VA_ARGS__)
171#define pgarb(...) pdbg(DSP_DEBUG_DEBUG, __VA_ARGS__)
172#define pfunc pgarb("%s\n", __func__)
181#define start_gettime(...)
182#define end_gettime(...)
189 ({ __typeof (a) _a = (a); \
190 __typeof (a) _b = (b); \
191 _a < _b ? _a : _b; })
196 ({ __typeof (a) _a = (a); \
197 __typeof (a) _b = (b); \
198 _a > _b ? _a : _b; })
205#ifndef DSP_ALIGN_TRANSLATED
207#define DSP_ALIGN_TRANSLATED 1
209#ifndef DSP_ALIGN_SCALED
211#define DSP_ALIGN_SCALED 2
213#ifndef DSP_ALIGN_ROTATED
215#define DSP_ALIGN_ROTATED 4
217#ifndef DSP_ALIGN_NO_MATCH
219#define DSP_ALIGN_NO_MATCH 8
374typedef void *(*dsp_func_t) (
void *, ...);
543 double HighFrequency);
552 double HighFrequency);
586#define dsp_stats_min(buf, len)\
589 __typeof(buf[0]) min = (__typeof(buf[0]))buf[0];\
590 for(i = 0; i < len; i++) {\
591 min = Min(buf[i], min);\
604#define dsp_stats_max(buf, len)\
607 __typeof(buf[0]) max = (__typeof(buf[0]))buf[0];\
608 for(i = 0; i < len; i++) {\
609 max = Max(buf[i], max);\
622#define dsp_stats_mid(buf, len)\
625 __typeof(buf[0]) min = dsp_stats_min(buf, len);\
626 (__typeof(buf[0]))(min - dsp_stats_max(buf, len)) / 2.0 + min;\
630#ifndef dsp_stats_maximum_index
637#define dsp_stats_minimum_index(buf, len)\
640 __typeof(buf[0]) min = dsp_stats_min(buf, len);\
641 for(i = 0; i < len; i++) {\
642 if(buf[i] == min) break;\
648#ifndef dsp_stats_maximum_index
655#define dsp_stats_maximum_index(buf, len)\
658 __typeof(buf[0]) max = dsp_stats_max(buf, len);\
659 for(i = 0; i < len; i++) {\
660 if(buf[i] == max) break;\
666#ifndef dsp_stats_stddev
673#define dsp_stats_mean(buf, len)\
676 double __dsp__mean = 0;\
677 for(__dsp__i = 0; __dsp__i < len; __dsp__i++) {\
678 __dsp__mean += buf[__dsp__i];\
685#ifndef dsp_stats_stddev
691#define dsp_stats_stddev(buf, len)\
693 double __dsp__mean = dsp_stats_mean(buf, len);\
695 double __dsp__stddev = 0;\
696 for(__dsp__x = 0; __dsp__x < len; __dsp__x++) {\
697 __dsp__stddev += fabs(buf[__dsp__x] - __dsp__mean);\
699 __dsp__stddev /= len;\
704#ifndef dsp_stats_val_count
712#define dsp_stats_val_count(buf, len, val) \
716 for(x = 0; x < len; x++) {\
724#ifndef dsp_stats_val_sum
731#define dsp_stats_val_sum(buf, len) \
735 for(x = 0; x < len; x++) {\
742#ifndef dsp_stats_range_count
751#define dsp_stats_range_count(buf, len, lo, hi) \
755 for(x = 0; x < len; x++) {\
756 if(buf[x] < hi && buf[x] >= lo)\
763#ifndef dsp_stats_compare
771#define dsp_stats_compare(in1, in2, len)\
773 __typeof(in1[0]) out = 0;\
774 for(int i = 0; i < len; i++) {\
775 out += in1[i] - (__typeof(in1[0]))in2[i];\
808#ifndef dsp_buffer_stretch
816#define dsp_buffer_stretch(buf, len, _mn, _mx)\
819 __typeof(buf[0]) __mn = dsp_stats_min(buf, len);\
820 __typeof(buf[0]) __mx = dsp_stats_max(buf, len);\
821 double oratio = (_mx - _mn);\
822 double iratio = (__mx - __mn);\
823 if(iratio == 0) iratio = 1;\
824 for(k = 0; k < len; k++) {\
826 buf[k] = (__typeof(buf[0]))((double)buf[k] * oratio / iratio);\
832#ifndef dsp_buffer_set
839#define dsp_buffer_set(buf, len, _val)\
842 for(k = 0; k < len; k++) {\
843 buf[k] = (__typeof(buf[0]))(_val);\
848#ifndef dsp_buffer_normalize
856#define dsp_buffer_normalize(buf, len, mn, mx)\
859 for(k = 0; k < len; k++) {\
860 buf[k] = Max(mn, Min(mx, buf[k]));\
1009#ifndef dsp_buffer_reverse
1015#define dsp_buffer_reverse(buf, len) \
1017 int i = (len - 1) / 2; \
1019 __typeof(buf[0]) _x; \
1031#ifndef dsp_buffer_swap
1037#define dsp_buffer_swap(in, len) \
1040 switch(sizeof(((__typeof (in[0])*)in)[0])) { \
1042 for(k = 0; k < len; k++) \
1043 ((__typeof (in[0])*)in)[k] = __bswap_16(((__typeof (in[0])*)in)[k]); \
1046 for(k = 0; k < len; k++) \
1047 ((__typeof (in[0])*)in)[k] = __bswap_32(((__typeof (in[0])*)in)[k]); \
1053#ifndef dsp_buffer_copy
1062#define dsp_buffer_copy(in, out, len) \
1065 for(k = 0; k < len; k++) { \
1066 ((__typeof (out[0])*)out)[k] = (__typeof (out[0]))((__typeof (in[0])*)in)[k]; \
1071#ifndef dsp_buffer_copy_stepping
1083#define dsp_buffer_copy_stepping(in, out, inlen, outlen, instep, outstep) \
1087 for(k = 0, t = 0; k < inlen && t < outlen; k+=instep, t+=outstep) { \
1088 ((__typeof (out[0])*)out)[t] = (__typeof (out[0]))((__typeof (in[0])*)in)[k]; \
1587#include <fits_extensions.h>
DLL_EXPORT int dsp_get_debug_level()
get the debug level
struct hypercomplex_t hypercomplex
Hypercomplex type.
DLL_EXPORT void dsp_set_stderr(FILE *f)
set the error log streeam
DLL_EXPORT char * dsp_get_app_name()
get the application name
#define DSP_NAME_SIZE
Size of strings.
Definition: dsp.h:83
DLL_EXPORT unsigned long int dsp_max_threads(unsigned long value)
get/set the maximum number of threads allowed
double dsp_t
libDSP base type
Definition: dsp.h:75
double complex_t[2]
complex type
Definition: dsp.h:77
DLL_EXPORT void dsp_set_debug_level(int value)
set the debug level
DLL_EXPORT void dsp_set_stdout(FILE *f)
set the output log streeam
DLL_EXPORT void dsp_print(int x, char *str)
log a message to the error or output streams
DLL_EXPORT void dsp_set_app_name(char *name)
set the application name
void *(* dsp_func_t)(void *,...)
Multi-dimensional processing delegate function.
Definition: dsp.h:374
struct dsp_region_t dsp_region
Delimits a region in a single dimension of a buffer.
struct dsp_offset_t dsp_offset
Indicates an offset.
struct dsp_point_t dsp_point
Indicates a dot or line inside a dsp_stream.
struct dsp_triangle_t dsp_triangle
A star or object contained into a buffer.
struct dsp_align_info_t dsp_align_info
Alignment informations needed.
struct dsp_stream_t dsp_stream
Contains a set of informations and data relative to a buffer and how to use it.
union dsp_location_t dsp_location
The location type.
struct dsp_star_t dsp_star
A star or object contained into a buffer.
struct dsp_stream_t * phase
Fourier transform phase.
Definition: dsp.h:437
double samplerate
Sample rate of the buffers.
Definition: dsp.h:429
void * arg
Optional argument for the func() callback.
Definition: dsp.h:403
struct dsp_location_t::@1 xyz
The location in xyz coordinates.
int stars_count
The number of stars of the triangle.
Definition: dsp.h:287
double imaginary
Imaginary part of the complex number.
Definition: dsp.h:329
char name[DSP_NAME_SIZE]
Friendly name of the stream.
Definition: dsp.h:389
int err
Errors.
Definition: dsp.h:314
double * pixel_sizes
Sensor size.
Definition: dsp.h:427
dsp_point center
The center of the star.
Definition: dsp.h:256
int frame_number
Frame number (if part of a series)
Definition: dsp.h:451
int triangles_count
Triangles of stars or objects quantity.
Definition: dsp.h:447
int dims
Dimensions limit.
Definition: dsp.h:304
double * factor
Scaling factor.
Definition: dsp.h:302
double decimals
Decimals.
Definition: dsp.h:312
double wavelength
Wavelength observed, used as reference with signal generators or filters.
Definition: dsp.h:417
double theta
The deviation of the star.
Definition: dsp.h:264
double focal_ratio
Focal ratio.
Definition: dsp.h:419
int start
Starting point within the buffer.
Definition: dsp.h:343
double * center
Center of rotation coordinates.
Definition: dsp.h:298
struct dsp_stream_t * parent
The parent stream.
Definition: dsp.h:405
int * sizes
Sizes of each dimension.
Definition: dsp.h:397
double * location
Center of the point.
Definition: dsp.h:234
dsp_complex dft
Fourier transform.
Definition: dsp.h:401
int red
Red pixel (Bayer)
Definition: dsp.h:425
double * radians
Rotational offset.
Definition: dsp.h:300
double index
The index of the triangle.
Definition: dsp.h:275
dsp_star * stars
Stars or objects identified into the buffers - TODO.
Definition: dsp.h:441
struct timespec starttimeutc
Time at the beginning of the stream.
Definition: dsp.h:415
dsp_star * stars
The stars of the triangle.
Definition: dsp.h:285
double * sizes
The sizes of the triangle.
Definition: dsp.h:281
double * buf
Linear double array containing complex numbers.
Definition: dsp.h:334
double * target
Target coordinates.
Definition: dsp.h:413
struct dsp_location_t::@2 geographic
The location in geographic coordinates.
int stars_count
Stars or objects quantity.
Definition: dsp.h:443
struct dsp_stream_t * magnitude
Fourier transform magnitude.
Definition: dsp.h:435
double diameter
The diameter of the star.
Definition: dsp.h:258
int dims
The dimensions of the triangle.
Definition: dsp.h:277
double coordinates[3]
A 3d double array containing the location.
Definition: dsp.h:368
double * theta
The inclination of the triangle.
Definition: dsp.h:279
double diameter
Diameter.
Definition: dsp.h:421
dsp_align_info align_info
Align/scale/rotation settings.
Definition: dsp.h:449
dsp_triangle * triangles
Triangles of stars or objects.
Definition: dsp.h:445
dsp_func_t func
Callback function.
Definition: dsp.h:433
int dims
Dimensions limit of the point.
Definition: dsp.h:247
int dims
Number of dimensions of the buffers.
Definition: dsp.h:395
dsp_location * location
Location coordinates pointer, can be extended to the main buffer size as location companion.
Definition: dsp.h:411
double * offset
Center of the point.
Definition: dsp.h:245
struct dsp_stream_t ** children
Children streams.
Definition: dsp.h:407
dsp_t * buf
buffer
Definition: dsp.h:399
int len
Length of the region.
Definition: dsp.h:345
int triangles_count
Triangles quantity.
Definition: dsp.h:308
double SNR
SNR.
Definition: dsp.h:423
char name[DSP_NAME_SIZE]
The name of the star.
Definition: dsp.h:266
int dims
Dimensions limit of the point.
Definition: dsp.h:236
int child_count
Children streams count.
Definition: dsp.h:409
double score
Match score.
Definition: dsp.h:310
double peak
The peak of the star.
Definition: dsp.h:260
int is_copy
Increments by one on the copied stream.
Definition: dsp.h:391
double * ratios
The sizes of the triangle.
Definition: dsp.h:283
dsp_triangle triangles[2]
Reference triangles.
Definition: dsp.h:306
dsp_region * ROI
Regions of interest for each dimension.
Definition: dsp.h:439
int len
The buffers length.
Definition: dsp.h:393
pthread_t thread
Thread type for future usage.
Definition: dsp.h:431
double flux
The flux of the star.
Definition: dsp.h:262
double real
Real part of the complex number.
Definition: dsp.h:327
double * offset
Translation offset.
Definition: dsp.h:296
complex_t * pairs
Complex number type array used with libFFTW.
Definition: dsp.h:332
DLL_EXPORT void dsp_buffer_sum(dsp_stream_p stream, dsp_t *in, int len)
Sum elements of one stream to another's.
DLL_EXPORT void dsp_buffer_log(dsp_stream_p stream, dsp_t *in, int len)
Logarithm elements of one stream using another's as base.
DLL_EXPORT void dsp_buffer_median(dsp_stream_p stream, int size, int median)
Median elements of the input stream.
DLL_EXPORT void dsp_buffer_shift(dsp_stream_p stream)
Shift a stream on each dimension.
DLL_EXPORT void dsp_buffer_deviate(dsp_stream_p stream, dsp_t *deviation, dsp_t mindeviation, dsp_t maxdeviation)
Deviate forward the first input stream using the second stream as indexing reference.
DLL_EXPORT void dsp_buffer_div1(dsp_stream_p stream, double val)
Divide elements of the input stream to a value.
DLL_EXPORT void dsp_buffer_removemean(dsp_stream_p stream)
Subtract mean from stream.
DLL_EXPORT void dsp_buffer_1sub(dsp_stream_p stream, dsp_t val)
Subtract each element of the input stream a value.
DLL_EXPORT void dsp_buffer_max(dsp_stream_p stream, dsp_t *in, int len)
Subtract elements of one stream from another's.
DLL_EXPORT void dsp_buffer_sigma(dsp_stream_p stream, int size)
Standard deviation of each element of the input stream within the given size.
DLL_EXPORT void dsp_buffer_div(dsp_stream_p stream, dsp_t *in, int len)
Divide elements of one stream to another's.
DLL_EXPORT void dsp_buffer_sum1(dsp_stream_p stream, dsp_t val)
Sum elements of the input stream to a value.
DLL_EXPORT void dsp_buffer_mul(dsp_stream_p stream, dsp_t *in, int len)
Multiply elements of one stream to another's.
DLL_EXPORT void dsp_buffer_pow1(dsp_stream_p stream, double val)
Expose elements of the input stream to the given power.
DLL_EXPORT void dsp_buffer_log1(dsp_stream_p stream, double val)
Logarithm elements of the input stream using the given base.
DLL_EXPORT void dsp_buffer_pow(dsp_stream_p stream, dsp_t *in, int len)
Expose elements of one stream to another's.
DLL_EXPORT void dsp_buffer_min(dsp_stream_p stream, dsp_t *in, int len)
Sum elements of one stream to another's.
DLL_EXPORT void dsp_buffer_1div(dsp_stream_p stream, double val)
Divide a value to each element of the input stream.
DLL_EXPORT void dsp_buffer_sub(dsp_stream_p stream, dsp_t *in, int len)
Subtract elements of one stream from another's.
DLL_EXPORT void dsp_buffer_sub1(dsp_stream_p stream, dsp_t val)
Subtract a value from elements of the input stream.
DLL_EXPORT void dsp_buffer_mul1(dsp_stream_p stream, double val)
Multiply elements of the input stream to a value.
DLL_EXPORT void dsp_convolution_correlation(dsp_stream_p stream, dsp_stream_p matrix)
A cross-correlation processor.
DLL_EXPORT void dsp_convolution_convolution(dsp_stream_p stream, dsp_stream_p matrix)
A cross-convolution processor.
DLL_EXPORT void dsp_stream_free(dsp_stream_p stream)
Free the DSP stream passed as argument.
DLL_EXPORT void dsp_stream_scale(dsp_stream_p stream)
Scale a stream.
DLL_EXPORT void dsp_stream_set_dim(dsp_stream_p stream, int dim, int size)
Set a dimension size to a DSP stream.
DLL_EXPORT void dsp_stream_subtract(dsp_stream_p stream, dsp_stream_p in)
Subtract a stream to another.
DLL_EXPORT void dsp_stream_rotate(dsp_stream_p stream)
Rotate a stream around an axis and offset.
DLL_EXPORT void dsp_stream_del_triangle(dsp_stream_p stream, int index)
Remove the triangle with index n to a DSP stream.
DLL_EXPORT void dsp_stream_sum(dsp_stream_p stream, dsp_stream_p in)
Sum a stream with another.
DLL_EXPORT int dsp_stream_set_position(dsp_stream_p stream, int *pos)
Obtain the position the DSP stream by parsing multidimensional indexes.
DLL_EXPORT dsp_stream_p dsp_stream_copy(dsp_stream_p stream)
Create a copy of the DSP stream passed as argument.
DLL_EXPORT void dsp_stream_add_triangle(dsp_stream_p stream, dsp_triangle triangle)
Add a triangle to the DSP Stream passed as argument.
DLL_EXPORT void dsp_stream_add_child(dsp_stream_p stream, dsp_stream_p child)
Add a child to the DSP Stream passed as argument.
DLL_EXPORT void dsp_stream_multiply(dsp_stream_p stream, dsp_stream_p in)
Multiply a stream with another.
DLL_EXPORT int * dsp_stream_get_position(dsp_stream_p stream, int index)
Return the multidimensional positional indexes of a DSP stream by specify a linear index.
DLL_EXPORT void dsp_stream_del_dim(dsp_stream_p stream, int n)
Remove the dimension with index n to a DSP stream.
DLL_EXPORT void dsp_stream_set_buffer(dsp_stream_p stream, void *buffer, int len)
Set the buffer of the stream passed as argument to a specific memory location.
DLL_EXPORT void dsp_stream_del_child(dsp_stream_p stream, int n)
Remove the child with index n to a DSP stream.
DLL_EXPORT dsp_stream_p dsp_stream_new(void)
Allocate a new DSP stream type.
DLL_EXPORT void dsp_stream_add_dim(dsp_stream_p stream, int len)
Add a dimension with length len to a DSP stream.
DLL_EXPORT void dsp_stream_alloc_buffer(dsp_stream_p stream, int len)
Allocate a buffer with length len on the stream passed as argument.
DLL_EXPORT void dsp_stream_crop(dsp_stream_p stream)
Crop the buffers of the stream passed as argument by reading the ROI field.
DLL_EXPORT void dsp_stream_translate(dsp_stream_p stream)
Translate a stream.
DLL_EXPORT void dsp_stream_free_buffer(dsp_stream_p stream)
Free the buffer of the DSP Stream passed as argument.
DLL_EXPORT void dsp_stream_del_star(dsp_stream_p stream, int n)
Remove the star with index n to a DSP stream.
DLL_EXPORT void dsp_stream_add_star(dsp_stream_p stream, dsp_star star)
Add a star to the DSP Stream passed as argument.
DLL_EXPORT void dsp_stream_calc_triangles(dsp_stream_p stream)
Calculate the triangles in the stream struct.
DLL_EXPORT void * dsp_stream_exec(dsp_stream_p stream, void *args,...)
Execute the function callback pointed by the func field of the passed stream.
DLL_EXPORT void dsp_stream_align(dsp_stream_p stream)
Perform scale, translate and rotate transformations in-place.
DLL_EXPORT dsp_t * dsp_stream_get_buffer(dsp_stream_p stream)
Return the buffer of the stream passed as argument.
DLL_EXPORT dsp_stream_p * dsp_stream_from_components(dsp_t *buf, int dims, int *sizes, int components)
Convert a color component dsp_t array into a dsp_stream_p array each element containing the single co...
DLL_EXPORT void dsp_buffer_components_to_rgb(dsp_stream_p *stream, void *rgb, int components, int bpp)
Convert a component dsp_stream_p array into an RGB dsp_t array.
DLL_EXPORT void dsp_file_write_jpeg_composite(const char *filename, int components, int quality, dsp_stream_p *stream)
Write the components dsp_stream_p array into a JPEG file,.
DLL_EXPORT dsp_stream_p * dsp_buffer_rgb_to_components(void *buf, int dims, int *sizes, int components, int bpp, int stretch)
Convert an RGB color dsp_t array into a dsp_stream_p array each element containing the single compone...
DLL_EXPORT dsp_stream_p * dsp_file_read_jpeg(const char *filename, int *channels, int stretch)
Read a JPEG file and fill a array of dsp_stream_p with its content, each color channel has its own st...
DLL_EXPORT dsp_stream_p * dsp_file_read_png(const char *filename, int *channels, int stretch)
Read a PNG file and fill a array of dsp_stream_p with its content, each color channel has its own str...
DLL_EXPORT int dsp_align_get_offset(dsp_stream_p ref, dsp_stream_p to_align, double tolerance, double target_score, int num_stars)
Calculate offsets, rotation and scaling of two streams giving reference alignment point.
DLL_EXPORT void dsp_file_write_fits_bayer(const char *filename, int components, int bpp, dsp_stream_p *stream)
Write a FITS file from a dsp_stream_p array.
DLL_EXPORT dsp_stream_p * dsp_file_read_fits(const char *filename, int *channels, int stretch)
Read a FITS file and fill a dsp_stream_p with its content.
DLL_EXPORT void dsp_file_write_fits_composite(const char *filename, int components, int bpp, dsp_stream_p *stream)
Write the components dsp_stream_p array into a JPEG file,.
DLL_EXPORT dsp_t * dsp_file_bayer_2_composite(dsp_t *src, int red, int width, int height)
Convert a bayer pattern dsp_t array into a contiguos component array.
DLL_EXPORT void dsp_file_write_jpeg(const char *filename, int quality, dsp_stream_p stream)
Write the stream into a JPEG file,.
DLL_EXPORT dsp_t * dsp_file_bayer_2_rgb(dsp_t *src, int red, int width, int height)
Convert a bayer pattern dsp_t array into a ordered 3 RGB array.
DLL_EXPORT dsp_t * dsp_file_bayer_2_gray(dsp_t *src, int width, int height)
Convert a bayer pattern dsp_t array into a grayscale array.
DLL_EXPORT dsp_t * dsp_file_composite_2_bayer(dsp_stream_p *src, int red, int width, int height)
Convert a component dsp_stream_p array into a bayer dsp_t array.
DLL_EXPORT void dsp_file_write_png_composite(const char *filename, int components, int compression, dsp_stream_p *stream)
Write the components dsp_stream_p array into a PNG file,.
DLL_EXPORT dsp_triangle * dsp_align_calc_triangle(dsp_star *stars, int num_stars)
Create a dsp_triangle struct.
DLL_EXPORT dsp_align_info * dsp_align_fill_info(dsp_triangle t1, dsp_triangle t2)
Fill a dsp_align_info struct by comparing two triangles.
DLL_EXPORT void dsp_file_write_fits(const char *filename, int bpp, dsp_stream_p stream)
Write the dsp_stream_p into a FITS file,.
DLL_EXPORT void dsp_align_free_triangle(dsp_triangle *triangle)
Free a dsp_triangle struct pointer.
DLL_EXPORT void dsp_filter_lowpass(dsp_stream_p stream, double frequency)
A low pass filter.
DLL_EXPORT void dsp_filter_bandreject(dsp_stream_p stream, double LowFrequency, double HighFrequency)
A band reject filter.
DLL_EXPORT void dsp_filter_bandpass(dsp_stream_p stream, double LowFrequency, double HighFrequency)
A band pass filter.
DLL_EXPORT void dsp_filter_highpass(dsp_stream_p stream, double frequency)
A high pass filter.
DLL_EXPORT void dsp_filter_squarelaw(dsp_stream_p stream)
A square law filter.
DLL_EXPORT void dsp_signals_sawtoothwave(dsp_stream_p stream, double samplefreq, double freq)
Generate a sawtooth wave.
DLL_EXPORT void dsp_signals_sinewave(dsp_stream_p stream, double samplefreq, double freq)
Generate a sinusoidal wave.
DLL_EXPORT void dsp_signals_triwave(dsp_stream_p stream, double samplefreq, double freq)
Generate a triangular wave.
DLL_EXPORT void dsp_modulation_amplitude(dsp_stream_p stream, double samplefreq, double freq)
Generate an amplitude modulated wave.
DLL_EXPORT void dsp_modulation_frequency(dsp_stream_p stream, double samplefreq, double freq, double bandwidth)
Generate a frequency modulated wave.
DLL_EXPORT void dsp_signals_whitenoise(dsp_stream_p stream)
Generate white noise.
DLL_EXPORT double * dsp_stats_histogram(dsp_stream_p stream, int size)
Histogram of the inut stream.
void dsp_recons_align(dsp_stream_p stream, dsp_stream_p matrix)
Try to reconstruct a stream from sub-stream matrices.
Alignment informations needed.
Definition: dsp.h:294
Indicates an offset.
Definition: dsp.h:243
Indicates a dot or line inside a dsp_stream.
Definition: dsp.h:232
Delimits a region in a single dimension of a buffer.
Definition: dsp.h:341
A star or object contained into a buffer.
Definition: dsp.h:254
Contains a set of informations and data relative to a buffer and how to use it.
Definition: dsp.h:387
A star or object contained into a buffer.
Definition: dsp.h:273
Hypercomplex type.
Definition: dsp.h:85
Complex number array struct, used in Fourier Transform functions.
Definition: dsp.h:322
The location type.
Definition: dsp.h:352