High-Level Data Reduction Library: Hdrl_frameiter

High-Level Data Reduction Library 1.6.0 High-Level data reduction routines for ESO pipelines

Loading...
Searching...
No Matches
Data Structures | Macros | Functions
Hdrl_frameiter

## Data Structures
struct | hdrl_frameiter_state

## Macros
#define | MAX_DIM 32

## Functions
hdrl_iter * | hdrl_frameiter_new (const cpl_frameset *frames, hdrl_iter_flags flags, intptr_t naxes, intptr_t *axes, intptr_t *offsets, intptr_t *strides, intptr_t *dims)
| create iterator over cpl_frameset

## Detailed Description

## Macro Definition Documentation

## ◆ MAX_DIM

#define MAX_DIM 32

## Function Documentation

## ◆ hdrl_frameiter_new()

hdrl_iter * hdrl_frameiter_new | ( | const cpl_frameset * | frames,
|  | hdrl_iter_flags | flags,
|  | intptr_t | naxes,
|  | intptr_t * | axes,
|  | intptr_t * | offsets,
|  | intptr_t * | strides,
|  | intptr_t * | dims
| ) |  |

create iterator over cpl_frameset

Parameters

  frames | frames to iterate
  flags | flags of iterator
  naxes | number axis to iterate
  axes | axes iteration order
  offsets | offsets in axes (NULL for no offset)
  strides | strides in axes (NULL for stride 1)
  dims | dimensions of axes (NULL for dimensions of data)

Create iterator over uniform frameset and extensions. Treats data as [nframes,next,nx,ny,nz] dimensional array and iterates over some axis of this data. Currently only supports iterating over frame and extension axis and returning 2d images. E.g. create iterator iterating first over the frames beginning at offset 0 and stride 1, then over the extensions beginning at offset 2 (primary is offset 0) with stride 2. It returns a cpl_image in each iteration which is owned by the caller. The dimensions are defined by the data in the frames:

it = hdrl_frameiter_new(frames, 2, (intptr_t[]){HDRL_FRAMEITER_AXIS_FRAME, HDRL_FRAMEITER_AXIS_EXT}, (intptr_t[]){0, 2}, (intptr_t[]){1, 2}, NULL), for (cpl_image * h = hdrl_iter_next(it); h != NULL; h = hdrl_iter_next(it)) { cpl_image_delete(h); } hdrl_iter_delete(it);