High-Level Data Reduction Library 1.6.0
High-Level data reduction routines for ESO pipelines
Loading...
Searching...
No Matches
hdrl_resample.c File Reference
#include <cpl.h>
#include <string.h>
#include <math.h>
#include "hdrl_resample.h"
#include "hdrl_utils.h"
#include <sys/time.h>
Include dependency graph for hdrl_resample.c:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  hdrl_resample_smallwcs
 
struct  hdrl_resample_pixels_ext
 
struct  hdrl_resample_pixgrid
 

Macros

#define omp_get_max_threads()   1
 
#define omp_get_thread_num()   0
 
#define _POSIX_C_SOURCE   200112L
 
#define KEYWORD_LENGTH   81
 
#define FIELDMARGIN   5.
 
#define PT_IDX_MASK   0x1FFFFFFFFFFFFFll
 
#define XMAP_BITMASK   0x3FFll /* 1023 */
 
#define XMAP_LSHIFT   53ll
 

Functions

hdrl_resample_resulthdrl_resample_compute (const cpl_table *ResTable, hdrl_parameter *method, hdrl_parameter *outputgrid, const cpl_wcs *wcs)
 High level resampling function.
 
void hdrl_resample_result_delete (hdrl_resample_result *aCube)
 Deallocates the memory associated to a hdrl_resample_result object.
 
cpl_table * hdrl_resample_image_to_table (const hdrl_image *hima, const cpl_wcs *wcs)
 Convert a hdrl image into a cpl table that can be given as input to hdrl_resample_compute()
 
cpl_table * hdrl_resample_imagelist_to_table (const hdrl_imagelist *himlist, const cpl_wcs *wcs)
 Convert a hdrl imagelist into a cpl table that can be given as input to hdrl_resample_compute().
 
hdrl_parameterhdrl_resample_parameter_create_outgrid2D (const double delta_ra, const double delta_dec)
 Creates a resample_outgrid hdrl parameter object for a 2 dimensional interpolation, i.e HDRL_RESAMPLE_OUTGRID_2D. Only two values can be set by the caller. The remaining values (see hdrl_resample_parameter_create_outgrid2D_userdef() for all values) are derived from the data itself by the hdrl_resample_compute() function.
 
hdrl_parameterhdrl_resample_parameter_create_outgrid3D (const double delta_ra, const double delta_dec, const double delta_lambda)
 Creates a resample_outgrid hdrl parameter object for a 3 dimensional interpolation, i.e HDRL_RESAMPLE_OUTGRID_3D. Only three values can be set by the caller. The remaining values (see hdrl_resample_parameter_create_outgrid3D_userdef() for all values) are derived from the data itself by the hdrl_resample_compute() function.
 
hdrl_parameterhdrl_resample_parameter_create_outgrid2D_userdef (const double delta_ra, const double delta_dec, const double ra_min, const double ra_max, const double dec_min, const double dec_max, const double fieldmargin)
 Creates a resample_outgrid hdrl parameter object for a 2 dimensional interpolation, i.e HDRL_RESAMPLE_OUTGRID_2D. All values must be set by the caller (see also hdrl_resample_parameter_create_outgrid2D()) .
 
hdrl_parameterhdrl_resample_parameter_create_outgrid3D_userdef (const double delta_ra, const double delta_dec, const double delta_lambda, const double ra_min, const double ra_max, const double dec_min, const double dec_max, const double lambda_min, const double lambda_max, const double fieldmargin)
 Creates a resample_outgrid hdrl parameter object for a 3 dimensional interpolation, i.e HDRL_RESAMPLE_OUTGRID_3D. All values must be set by the caller (see also hdrl_resample_parameter_create_outgrid3D()).
 
hdrl_parameterhdrl_resample_parameter_create_renka (const int loop_distance, cpl_boolean use_errorweights, const double critical_radius)
 Creates a resample renka hdrl parameter object. The algorithm uses a modified Shepard-like distance weighting function following Renka for the interpolation.
 
hdrl_parameterhdrl_resample_parameter_create_linear (const int loop_distance, cpl_boolean use_errorweights)
 Creates a resample linear hdrl parameter object. The algorithm uses a linear inverse distance weighting function for the interpolation.
 
hdrl_parameterhdrl_resample_parameter_create_quadratic (const int loop_distance, cpl_boolean use_errorweights)
 Creates a resample quadratic hdrl parameter object. The algorithm uses a quadratic inverse distance weighting function for the interpolation.
 
hdrl_parameterhdrl_resample_parameter_create_nearest (void)
 Creates a resample nearest neighbor hdrl parameter object. The algorithm does not use any weighting functions but the nearest neighbor inside a voxel for the "interpolation". If there is no nearest neighbor inside the voxel but only outside, the voxel is marked as bad.
 
hdrl_parameterhdrl_resample_parameter_create_lanczos (const int loop_distance, cpl_boolean use_errorweights, const int kernel_size)
 Creates a resample Lanczos hdrl parameter object. The algorithm uses a restricted SINC distance weighting function for the interpolation.
 
hdrl_parameterhdrl_resample_parameter_create_drizzle (const int loop_distance, cpl_boolean use_errorweights, const double pix_frac_x, const double pix_frac_y, const double pix_frac_lambda)
 Creates a resample drizzle hdrl parameter object. The algorithm uses a drizzle-like distance weighting function for the interpolation.
 
cpl_error_code hdrl_resample_parameter_outgrid_verify (const hdrl_parameter *hp)
 verify parameters have proper values
 
cpl_error_code hdrl_resample_parameter_method_verify (const hdrl_parameter *hp)
 verify parameters have proper values
 
int hdrl_resample_parameter_outgrid_check (const hdrl_parameter *self)
 check method is of proper type
 
int hdrl_resample_parameter_method_check (const hdrl_parameter *self)
 check method is of proper type
 

Macro Definition Documentation

◆ _POSIX_C_SOURCE

#define _POSIX_C_SOURCE   200112L

◆ FIELDMARGIN

#define FIELDMARGIN   5.

◆ KEYWORD_LENGTH

#define KEYWORD_LENGTH   81

◆ omp_get_max_threads

#define omp_get_max_threads ( )    1

◆ omp_get_thread_num

#define omp_get_thread_num ( )    0

◆ PT_IDX_MASK

#define PT_IDX_MASK   0x1FFFFFFFFFFFFFll

◆ XMAP_BITMASK

#define XMAP_BITMASK   0x3FFll /* 1023 */

◆ XMAP_LSHIFT

#define XMAP_LSHIFT   53ll