source: trunk/src/ATrous/atrous.hh @ 872

Last change on this file since 872 was 846, checked in by MatthewWhiting, 13 years ago

Lots of small changes to the reconstruction code, getting the type definitions appropriate (signed vs unsigned ints, with size_t parameters in there as well.)

File size: 2.6 KB
Line 
1// -----------------------------------------------------------------------
2// atrous.hh: Definitions for wavelet reconstruction.
3// -----------------------------------------------------------------------
4// Copyright (C) 2006, Matthew Whiting, ATNF
5//
6// This program is free software; you can redistribute it and/or modify it
7// under the terms of the GNU General Public License as published by the
8// Free Software Foundation; either version 2 of the License, or (at your
9// option) any later version.
10//
11// Duchamp is distributed in the hope that it will be useful, but WITHOUT
12// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14// for more details.
15//
16// You should have received a copy of the GNU General Public License
17// along with Duchamp; if not, write to the Free Software Foundation,
18// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
19//
20// Correspondence concerning Duchamp may be directed to:
21//    Internet email: Matthew.Whiting [at] atnf.csiro.au
22//    Postal address: Dr. Matthew Whiting
23//                    Australia Telescope National Facility, CSIRO
24//                    PO Box 76
25//                    Epping NSW 1710
26//                    AUSTRALIA
27// -----------------------------------------------------------------------
28#ifndef ATROUS_H
29#define ATROUS_H
30
31namespace duchamp
32{
33
34  class Param;
35
36  const float reconTolerance = 0.005; ///< The tolerance in the reconstruction.
37
38
39  /////////////////////////////////////////////////////////////////////////
40
41  /// @brief Perform a 1-dimensional a trous wavelet reconstruction.
42  void atrous1DReconstruct(unsigned long &size, float *&input,
43                           float *&output, Param &par);
44
45  /// @brief Perform a 2-dimensional a trous wavelet reconstruction.
46  void atrous2DReconstruct(unsigned long &xdim, unsigned long &ydim, float *&input,
47                           float *&output, Param &par);
48
49  /// @brief Perform a 3-dimensional a trous wavelet reconstruction.
50  void atrous3DReconstruct(unsigned long &xdim, unsigned long &ydim, unsigned long &zdim,
51                           float *&input,float *&output, Param &par);
52
53  /// @brief Subtract a baseline from a set of spectra in a cube.
54  void baselineSubtract(size_t numSpec, unsigned int specLength,
55                        float *originalCube, float *baseline, Param &par);
56
57  /// @brief Find the baseline of a 1-D spectrum.
58  void getBaseline(unsigned long size, float *input, float *baseline, Param &par);
59
60  /// @brief Find the baseline of a 1-D spectrum.
61  void getBaseline(unsigned long size, float *input, float *baseline);
62
63}
64
65#endif
Note: See TracBrowser for help on using the repository browser.