casacore
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
scimath
Mathematics
Smooth.h
Go to the documentation of this file.
1
//# Smooth.h: smooth vectors and arrays
2
//# Copyright (C) 2010 by ESO (in the framework of the ALMA collaboration)
3
//# Copyright (C) 1996,1997,1998,1999,2000,2001
4
//# Associated Universities, Inc. Washington DC, USA.
5
//#
6
//# This library is free software; you can redistribute it and/or modify it
7
//# under the terms of the GNU Library General Public License as published by
8
//# the Free Software Foundation; either version 2 of the License, or (at your
9
//# option) any later version.
10
//#
11
//# This library 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 Library General Public
14
//# License for more details.
15
//#
16
//# You should have received a copy of the GNU Library General Public License
17
//# along with this library; if not, write to the Free Software Foundation,
18
//# Inc., 675 Massachusetts Ave, Cambridge, MA 02139, USA.
19
//#
20
//# Correspondence concerning AIPS++ should be addressed as follows:
21
//# Internet email: aips2-request@nrao.edu.
22
//# Postal address: AIPS++ Project Office
23
//# National Radio Astronomy Observatory
24
//# 520 Edgemont Road
25
//# Charlottesville, VA 22903-2475 USA
26
//#
27
//# $Id$
28
29
#ifndef SCIMATH_SMOOTH_H
30
#define SCIMATH_SMOOTH_H
31
32
33
//# Includes
34
#include <
casacore/casa/aips.h
>
35
#include <
casacore/casa/Arrays/Vector.h
>
36
37
namespace
casacore {
//# NAMESPACE CASACORE - BEGIN
38
39
40
// <summary>
41
// Smooth a Vector or the rows of a 2D Array taking into account
42
// flags which are supplied in a Vector/Array of the same shape.
43
// Modify the flags as necessary to mark channels for which the
44
// smoothing could not be done because needed channels were flagged.
45
// </summary>
46
47
// <use visibility=export>
48
49
// <reviewed reviewer="" date="yyyy/mm/dd" tests="" demos="">
50
// </reviewed>
51
52
// <prerequisite>
53
// <li> <linkto class="Vector">Vector</linkto>
54
// <li> <linkto class="Array">Array</linkto>
55
// </prerequisite>
56
57
// <etymology>
58
// self-explanatory
59
// </etymology>
60
61
// <synopsis>
62
// Perform smoothing on Vectors or Arrays
63
// </synopsis>
64
65
// <example>
66
// <srcBlock>
67
// Smooth<Complex>::hanning(outv, // the output
68
// outFlags, // the output mask
69
// yin, // the input
70
// yinFlags, // the input mask
71
// False, // for flagging: good is not true
72
// True); // use the default scheme for producing output flags
73
// </srcBlock>
74
// </example>
75
76
// <motivation>
77
// This is used, e.g., for visibilities in spectral channel vectors.
78
// </motivation>
79
80
// <todo asof="2010/07/27">
81
// <li>
82
// </todo>
83
84
85
template
<
class
T>
86
class
Smooth
{
87
88
Smooth
(){};
89
90
public
:
91
92
// Hanning smoothing
93
static
void
hanning
(
Vector<T>
& out,
Vector<Bool>
& outmask,
94
Vector<T>
& in,
Vector<Bool>
&
mask
,
95
Bool
TrueIsGood,
Bool
relaxed=
True
);
96
97
// as above but calling hanningSmooth for each row of the 2D array
98
static
void
hanning
(
Array<T>
& out,
Array<Bool>
& outmask,
99
Array<T>
& in,
Array<Bool>
&
mask
,
100
Bool
TrueIsGood,
Bool
relaxed=
True
);
101
};
102
103
104
}
//# NAMESPACE CASACORE - END
105
106
#ifndef CASACORE_NO_AUTO_TEMPLATES
107
#include <casacore/scimath/Mathematics/Smooth.tcc>
108
#endif //# CASACORE_NO_AUTO_TEMPLATES
109
110
#endif
111
casacore::Vector< T >
casacore::mask
LatticeExprNode mask(const LatticeExprNode &expr)
This function returns the mask of the given expression.
aips.h
casacore::Smooth::Smooth
Smooth()
Definition:
Smooth.h:88
casacore::Bool
bool Bool
Define the standard types used by Casacore.
Definition:
aipstype.h:42
Vector.h
casacore::Array< T >
casacore::Smooth::hanning
static void hanning(Vector< T > &out, Vector< Bool > &outmask, Vector< T > &in, Vector< Bool > &mask, Bool TrueIsGood, Bool relaxed=True)
Hanning smoothing.
casacore::Smooth
Smooth a Vector or the rows of a 2D Array taking into account flags which are supplied in a Vector/Ar...
Definition:
Smooth.h:86
casacore::True
const Bool True
Definition:
aipstype.h:43
Generated by
1.8.5