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

Last change on this file since 1120 was 1120, checked in by MatthewWhiting, 12 years ago

Ticket #170, #105 - The bulk of the work allowing this to happen. Have implemented different classes for each of the output types, including the baselines (which required new parameters etc.) Not yet implemented in mainDuchamp, so needs testing.

File size: 2.5 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(size_t &size, float *&input,
43                           float *&output, Param &par);
44
45  /// @brief Perform a 2-dimensional a trous wavelet reconstruction.
46  void atrous2DReconstruct(size_t &xdim, size_t &ydim, float *&input,
47                           float *&output, Param &par);
48
49  /// @brief Perform a 3-dimensional a trous wavelet reconstruction.
50  void atrous3DReconstruct(size_t &xdim, size_t &ydim, size_t &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, size_t specLength,
55                        float *originalCube, float *baseline, Param &par);
56
57  /// @brief Find the baseline of a 1-D spectrum.
58  void findBaseline(size_t size, float *input, float *baseline, Param &par);
59
60  /// @brief Find the baseline of a 1-D spectrum.
61  void findBaseline(size_t size, float *input, float *baseline);
62
63}
64
65#endif
Note: See TracBrowser for help on using the repository browser.