36 double ** gravi_table_get_data_array_double (cpl_table * table,
const char * name);
37 float ** gravi_table_get_data_array_float (cpl_table * table,
const char * name);
38 float complex ** gravi_table_get_data_array_float_complex (cpl_table * table,
const char * name);
39 double complex ** gravi_table_get_data_array_double_complex (cpl_table * table,
const char * name);
40 int ** gravi_table_get_data_array_int (cpl_table * table,
const char * name);
42 double gravi_table_get_column_mean (cpl_table * table,
const char * name,
int base,
int nbase);
43 double gravi_table_get_column_std (cpl_table * table,
const char * name,
int base,
int nbase);
44 cpl_array * gravi_table_get_column_mean_array (cpl_table * table,
const char * name,
int base,
int nbase);
46 #define gravi_table_get_value(table,name,row,value) cpl_array_get (cpl_table_get_array (table,name,row), value, NULL) 47 #define gravi_table_set_value(table,name,row,value,val) cpl_array_set (cpl_table_get_data_array (table,name)[row], value, val); 49 int gravi_array_threshold_min (cpl_array * array,
double lo_cut,
50 double assign_lo_cut);
52 cpl_array * gravi_array_init_double (
long n ,
double value);
53 cpl_array * gravi_array_init_int (
long n,
int value);
54 cpl_array * gravi_array_init_double_complex (
long n,
double complex value);
55 cpl_array * gravi_array_init_float_complex (
long n,
float complex value);
57 cpl_array * gravi_array_wrap_complex (cpl_array * input_re, cpl_array * input_im);
58 cpl_array * gravi_array_wrap_float_complex (cpl_array * input_re, cpl_array * input_im);
59 cpl_array * gravi_array_compute_norm2 (cpl_array * input_re, cpl_array * input_im);
60 cpl_array * gravi_array_smooth (cpl_array * input,
int nsmooth);
61 cpl_array * gravi_array_rebin (
const cpl_array * input,
const cpl_array * errs,
62 cpl_table * oi_wave_sc, cpl_table * oi_wave_ft);
63 cpl_array * gravi_array_create_inverse (cpl_array *input);
64 cpl_array *
gravi_array_cexp (
double complex factor,
const cpl_array * input);
66 cpl_error_code gravi_array_normalize_complex (cpl_array * input);
67 cpl_error_code gravi_array_phase_unwrap (cpl_array * input);
68 cpl_error_code gravi_array_phase_wrap (cpl_array * input);
72 cpl_error_code gravi_array_multiply_conj (cpl_array * input1, cpl_array * input2);
75 cpl_error_code gravi_table_set_array_double_complex (cpl_table * table,
const char * name,
76 cpl_size row, cpl_array * visR, cpl_array * visI);
77 cpl_error_code gravi_table_set_array_phase (cpl_table * table,
const char * name,
78 cpl_size row, cpl_array * phase);
80 int row,
const char *value,
int len);
83 cpl_error_code gravi_table_new_column (cpl_table * table,
const char * name,
const char * unit, cpl_type type);
84 cpl_error_code gravi_table_new_column_array (cpl_table * table,
const char * name,
const char * unit, cpl_type type, cpl_size size);
85 cpl_error_code gravi_table_init_column_array (cpl_table * table,
const char * name,
const char * unit, cpl_type type, cpl_size size);
87 cpl_error_code gravi_table_interpolate_column (cpl_table * to_table,
90 const cpl_table * from_table,
94 cpl_error_code gravi_table_add_columns (cpl_table * oi_vis1,
const char *name1,
95 cpl_table * oi_vis2,
const char *name2);
96 cpl_error_code gravi_table_runint_column (cpl_table * oi_vis,
const char *input_name,
97 const char *output_name,
int nsmooth,
int nbase);
98 cpl_error_code gravi_table_smooth_column (cpl_table * oi_vis,
const char *input_name,
99 const char *output_name,
int nsmooth,
int nbase);
102 cpl_error_code
gravi_table_add_scalar (cpl_table * table,
const char * name,
int base,
int nbase,
double value);
104 cpl_array * gravi_table_create_sigma_array (cpl_table * oi_wave);
105 cpl_array * gravi_table_create_wave_array (cpl_table * oi_wave);
108 double * gd, cpl_size nrow,
109 double max_width,
int verbose);
111 cpl_error_code gravi_table_compute_group_delay (cpl_table * table,
const char *input,
112 const char *output, cpl_table * oi_wave);
120 cpl_size llx, cpl_size lly,
121 cpl_size urx, cpl_size ury);
124 cpl_vector * gravi_table_get_vector_scalar (cpl_table * table,
130 const char * regname1,
131 const char * regname2);
135 cpl_error_code gravi_image_subtract_window (cpl_image * img1,
const cpl_image * img2,
136 cpl_size llx, cpl_size lly,
137 cpl_size urx, cpl_size ury,
138 cpl_size llx2, cpl_size lly2);
141 cpl_image * gravi_image_from_matrix (cpl_matrix * matrix);
143 cpl_image * gravi_image_from_vector (cpl_vector * vector);
154 double percent,
double nsigma);
double gravi_image_get_quantile(const cpl_image *img, double value)
Compute the quantile of an image.
cpl_array * gravi_table_get_column_dimension(const cpl_table *table, const char *name)
Return an array ready for cpl_table_set_column_dimension.
cpl_vector * gravi_table_get_vector(cpl_table *, cpl_size, const char *)
Create a vector from the row index of the column regname.
cpl_imagelist * gravi_imagelist_from_column(cpl_table *table_data, const char *data_x)
Create an imagelist from a column array in table.
cpl_vector * gravi_vector_extract(const cpl_vector *vector, int start, int step)
Extract part of a vector.
cpl_error_code gravi_array_add_phasor(cpl_array *input, double complex factor, cpl_array *phase)
Add a REAL phase to a COMPLEX array, in-place: input = input + cexp (factor * phase) ...
cpl_array * gravi_array_cexp(double complex factor, const cpl_array *input)
Compute the complex exponention of an array: cexp (factor * input)
cpl_error_code gravi_table_multiply_scalar(cpl_table *table, const char *name, int base, int nbase, double value)
Multiply scalar or array column by scalar.
cpl_matrix * gravi_matrix_interpolate_col(cpl_matrix *matrix, cpl_vector *xref, cpl_vector *xout)
Linear interpolation of matrix column.
int gravi_table_are_equal(cpl_table *first, cpl_table *second)
Check if two tables have the same content.
cpl_table * gravi_table_extract_time_interval(cpl_table *table, double start, double end)
Extract rows from table based on the TIME column.
cpl_array ** gravi_array_new_list(int n, cpl_type type, int size)
Allocate a list of arrays, pre-filled with 0.0.
cpl_error_code gravi_array_multiply_phasor(cpl_array *input, double complex factor, cpl_array *phase)
Multiply a REAL phase to a COMPLEX array, in-place: input = input * cexp (factor * phase) ...
cpl_error_code gravi_array_get_group_delay_loop(cpl_array **input, cpl_array *sigma, double *gd, cpl_size nrow, double max_width, int verbose)
Optimized computation of GDELAY for a list of arrays.
cpl_error_code gravi_array_add_phase(cpl_array *input, double factor, cpl_array *phase)
Add a REAL phase to a REAL phase array, in-place: input = input + factor * phase. ...
cpl_error_code gravi_image_fill(cpl_image *img, double value)
Fill entire image with value.
cpl_matrix * gravi_matrix_invertSV_create(cpl_matrix *a_in)
Invers a matrix with singular value decomposition.
cpl_array * gravi_array_wrap_image(cpl_image *)
Wrap the data of na image into an array.
cpl_error_code gravi_table_set_string_fixlen(cpl_table *table, const char *name, int row, const char *value, int len)
Set string in table, ensuring fixed length (right space padding). see cpl_table_set_string.
cpl_error_code gravi_imagelist_unwrap_images(cpl_imagelist *imglist)
Unwrap an imagelist an all its images.
double gravi_image_get_noise_window(cpl_image *img, cpl_size llx, cpl_size lly, cpl_size urx, cpl_size ury)
Estimate the median noise in a window. This noise is estimated as the median{img**2}**0.5, so that it is a robust estimate.
cpl_image * gravi_image_from_column(cpl_table *table_data, const char *data_x, cpl_size row)
Create an image from a column array in table.
double gravi_vector_get_mean_clip(cpl_vector *vector_in, double percent, double nsigma)
Return the mean of a vector after extrema and RMS clipping.
cpl_vector * gravi_table_get_vector_diff(cpl_table *spectrum_data, int index, const char *regname1, const char *regname2)
Create a vector from the row index of the column regname.
double gravi_array_get_quantile(cpl_array *arr, double value)
Compute the value of the vector corresponding to the quantile 'thr' (0 < thr < 1) ...
cpl_error_code gravi_vector_unwrap_with_guess(cpl_vector *vector, cpl_vector *ref, double ref_to_phase)
Unwrap a phase vector following a guess vector. The difference is actually unwrap and shall thus be s...
cpl_error_code gravi_table_add_scalar(cpl_table *table, const char *name, int base, int nbase, double value)
Multply scalar or array column by scalar.
cpl_size gravi_vector_get_maxpos(cpl_vector *vector)
Return the index of maximum in a vector. If several indexes exists with the maximum value...
cpl_error_code gravi_array_add_phasors(cpl_array *input, cpl_array *add, cpl_array *sub)
Add a pair of COMPLEX arrays to a COMPLEX array, in-place: input = input + add*conj(sub) ...
cpl_image * gravi_image_wrap_matrix(cpl_matrix *matrix)
Wrap matrix into an image (data not duplicated)
cpl_image * gravi_image_wrap_vector(cpl_vector *vector)
Wrap vector into an image (data not duplicated)
cpl_imagelist * gravi_imagelist_wrap_column(cpl_table *table_data, const char *data_x)
Wrap a column array of a table into an imagelist.
cpl_matrix * get_matrix_from_vector(cpl_vector *, cpl_vector *)
Copy the content of two vector into a newly allocated 2D matrix.