CR2RE Pipeline Reference Manual 1.6.8
hdrl_bpm_3d.h
1/*
2 * This file is part of the HDRL
3 * Copyright (C) 2013 European Southern Observatory
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or
8 * (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18 */
19
20#ifndef HDRL_BPM_3D_H
21#define HDRL_BPM_3D_H
22
23/*-----------------------------------------------------------------------------
24 Includes
25 -----------------------------------------------------------------------------*/
26
27#include <cpl.h>
28#include <stdint.h>
29#include "hdrl_image.h"
30#include "hdrl_imagelist.h"
31
32CPL_BEGIN_DECLS
33
34/*-----------------------------------------------------------------------------
35 Defines
36 -----------------------------------------------------------------------------*/
37
38typedef enum {
39 HDRL_BPM_3D_THRESHOLD_ABSOLUTE,
40 HDRL_BPM_3D_THRESHOLD_RELATIVE,
41 HDRL_BPM_3D_THRESHOLD_ERROR
42} hdrl_bpm_3d_method ;
43
44/*-----------------------------------------------------------------------------
45 Functions prototypes
46 -----------------------------------------------------------------------------*/
47
48/*----------------------------------------------------------------------------
49 BPM Parameters
50 ----------------------------------------------------------------------------*/
51hdrl_parameter * hdrl_bpm_3d_parameter_create(double,double,hdrl_bpm_3d_method);
52cpl_error_code hdrl_bpm_3d_parameter_verify(const hdrl_parameter *) ;
53cpl_boolean hdrl_bpm_3d_parameter_check(const hdrl_parameter *) ;
54
55/* Accessors */
56double hdrl_bpm_3d_parameter_get_kappa_low(const hdrl_parameter *) ;
57double hdrl_bpm_3d_parameter_get_kappa_high(const hdrl_parameter *) ;
58hdrl_bpm_3d_method hdrl_bpm_3d_parameter_get_method(const hdrl_parameter *) ;
59
60/* Parameter Lists */
61cpl_parameterlist * hdrl_bpm_3d_parameter_create_parlist(const char *,
62 const char *, const hdrl_parameter *) ;
63hdrl_parameter * hdrl_bpm_3d_parameter_parse_parlist(const cpl_parameterlist *,
64 const char *) ;
65
66/*----------------------------------------------------------------------------
67 BPM_3D Computation
68 ----------------------------------------------------------------------------*/
69
70cpl_imagelist * hdrl_bpm_3d_compute(
71 const hdrl_imagelist * imglist,
72 const hdrl_parameter * params) ;
73
74/*-----------------------------------------------------------------------------
75 Private declarations - must not be used outside of hdrl
76 -----------------------------------------------------------------------------*/
77
78#ifdef HDRL_USE_PRIVATE
79
80#endif
81
82CPL_END_DECLS
83
84#endif
double hdrl_bpm_3d_parameter_get_kappa_high(const hdrl_parameter *)
Access the kappa_high in the BPM_3D parameter.
Definition: hdrl_bpm_3d.c:196
double hdrl_bpm_3d_parameter_get_kappa_low(const hdrl_parameter *)
Access the kappa_low in the BPM_3D parameter.
Definition: hdrl_bpm_3d.c:182
cpl_parameterlist * hdrl_bpm_3d_parameter_create_parlist(const char *, const char *, const hdrl_parameter *)
Create a parameter list for the BPM_3D computation.
Definition: hdrl_bpm_3d.c:231
cpl_imagelist * hdrl_bpm_3d_compute(const hdrl_imagelist *imglist, const hdrl_parameter *params)
detect bad pixels on a stack of identical images
Definition: hdrl_bpm_3d.c:409
hdrl_parameter * hdrl_bpm_3d_parameter_parse_parlist(const cpl_parameterlist *, const char *)
Parse a parameterlist to create input parameters for the BPM_3D.
Definition: hdrl_bpm_3d.c:314
hdrl_bpm_3d_method hdrl_bpm_3d_parameter_get_method(const hdrl_parameter *)
Access the method in the BPM_3D parameter.
Definition: hdrl_bpm_3d.c:210
cpl_error_code hdrl_bpm_3d_parameter_verify(const hdrl_parameter *)
Verify basic correctness of the BPM_3D parameters.
Definition: hdrl_bpm_3d.c:128
hdrl_parameter * hdrl_bpm_3d_parameter_create(double, double, hdrl_bpm_3d_method)
Creates BPM Parameters object for the imagelist method.
Definition: hdrl_bpm_3d.c:108
cpl_boolean hdrl_bpm_3d_parameter_check(const hdrl_parameter *)
Check that the parameter is a BPM_3D parameter.
Definition: hdrl_bpm_3d.c:170