Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

qgar::Mask1dGaussD1 Class Reference
[Masks]

#include <qgarlib/Mask1dGaussD1.H>

Inheritance diagram for qgar::Mask1dGaussD1:

qgar::GenMask1d< T > List of all members.

Detailed Description

First derivative of a 1D Gaussian mask.

The code implementing this class is an adaptation of code written by Carsten Steger at TU Muenchen, Germany. Here is the copyright notice from his code:

 +----------------------------------------------------------------------+
 | Copyright (C) 1996 Carsten Steger                                    |
 |                                                                      |
 | This program is free software; you can redistribute it and/or modify |
 | it under the terms of the GNU General Public License as published by |
 | the Free Software Foundation; either version 2, or (at your option)  |
 | any later version.                                                   |
 |                                                                      |
 | This program is distributed in the hope that it will be useful, but  |
 | WITHOUT ANY WARRANTY; without even the implied warranty of           |
 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU    |
 | General Public License for more details.                             |
 |                                                                      |
 | You should have received a copy of the GNU General Public License    |
 | along with this program; if not, write to the Free Software          |
 | Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.            |
 +----------------------------------------------------------------------+

Author:
Karl Tombre
Date:
July 03, 2001 10:27
Since:
Qgar 1.0

Definition at line 88 of file Mask1dGaussD1.H.

Public Types

Types
typedef T value_type
 Type of the mask coefficients.
typedef value_typereference
 Reference to qgar::GenMask1d::value_type.
typedef const value_typeconst_reference
 Constant reference to qgar::GenMask1d::value_type.
typedef value_typepointer
 Pointer to qgar::GenMask1d::value_type.
typedef const value_typeconst_pointer
 Constant pointer to qgar::GenMask1d::value_type.

Public Member Functions

Constructors
 Mask1dGaussD1 (const Mask1dGaussD1 &aMask)
 Copy constructor.
 Mask1dGaussD1 (double aSigma=1.0)
 Initialize from given sigma (default 1.0).
Destructor
virtual ~Mask1dGaussD1 ()
 Virtual destructor.
Operators
Mask1dGaussD1operator= (const Mask1dGaussD1 &aMask)
 Assignment.
Access to mask characteristics
int width () const
 Get mask width.
Access to coefficient values
value_type coeff (int anIdx) const
 Get a coefficient value.
Access to direct transformations of the coefficient map
pointer pCoeffMap () const
 Get the pointer to the coefficient map.
Transformation
void setCoeff (int anIdx, value_type aCoeff)
 Set coefficient at given index.
Copy
GenMask1d< T > * shallowCopy ()
 Shallow copy: The coefficient map of the source mask is not duplicated.

Protected Attributes

Representation of a mask
int * _pRefCnt
 Reference counter.
int _width
 Mask width.
pointer _pCoeffMap
 Pointer to the memory space of the mask.


Member Typedef Documentation

template<class T>
typedef const value_type* qgar::GenMask1d< T >::const_pointer [inherited]
 

Constant pointer to qgar::GenMask1d::value_type.

Definition at line 93 of file GenMask1d.H.

template<class T>
typedef const value_type& qgar::GenMask1d< T >::const_reference [inherited]
 

Constant reference to qgar::GenMask1d::value_type.

Definition at line 83 of file GenMask1d.H.

template<class T>
typedef value_type* qgar::GenMask1d< T >::pointer [inherited]
 

Pointer to qgar::GenMask1d::value_type.

Definition at line 88 of file GenMask1d.H.

template<class T>
typedef value_type& qgar::GenMask1d< T >::reference [inherited]
 

Reference to qgar::GenMask1d::value_type.

Definition at line 78 of file GenMask1d.H.

template<class T>
typedef T qgar::GenMask1d< T >::value_type [inherited]
 

Type of the mask coefficients.

Definition at line 73 of file GenMask1d.H.


Constructor & Destructor Documentation

qgar::Mask1dGaussD1::Mask1dGaussD1 const Mask1dGaussD1 aMask  ) 
 

Copy constructor.

See also qgar::Mask1dGaussD1::operator=, qgar::GenMask1d::deepCopy, and qgar::GenMask1d::shallowCopy.

Warning:
Perform a deep copy: The coefficent map of the source mask is duplicated.

Definition at line 103 of file Mask1dGaussD1.C.

qgar::Mask1dGaussD1::Mask1dGaussD1 double  aSigma = 1.0  ) 
 

Initialize from given sigma (default 1.0).

Parameters:
aSigma sigma of the Gaussian

Definition at line 113 of file Mask1dGaussD1.C.

References qgar::GenMask1d< T >::_pCoeffMap, qgar::GenMask1d< T >::_width, and qgar::MASK1DGAUSSD1_phi1().

qgar::Mask1dGaussD1::~Mask1dGaussD1  )  [virtual]
 

Virtual destructor.

Definition at line 139 of file Mask1dGaussD1.C.


Member Function Documentation

template<class T>
T qgar::GenMask1d< T >::coeff int  anIdx  )  const [inherited]
 

Get a coefficient value.

Parameters:
anIdx index of the coefficient in the coefficient map

Definition at line 193 of file GenMask1d.TCC.

References qgar::GenMask1d< T >::_pCoeffMap.

Mask1dGaussD1 & qgar::Mask1dGaussD1::operator= const Mask1dGaussD1 aMask  ) 
 

Assignment.

Parameters:
aMask mask to assign
See also qgar::Mask1dGaussD1(Mask1dGaussD1<T>&), qgar::GenMask1d::deepCopy, and qgar::GenMask1d::shallowCopy.

Warning:
Perform a deep copy: The coefficient map of the source mask is duplicated. Before the copy is performed, the destination mask is not supposed to have the same size as the destination mask.

Definition at line 151 of file Mask1dGaussD1.C.

References qgar::GenMask1d< double >::operator=().

template<class T>
T * qgar::GenMask1d< T >::pCoeffMap  )  const [inline, inherited]
 

Get the pointer to the coefficient map.

Definition at line 208 of file GenMask1d.TCC.

References qgar::GenMask1d< T >::_pCoeffMap.

Referenced by qgar::GenMask1d< T >::deepCopyAux(), qgar::GenMask1d< T >::GenMask1d(), qgar::GenConvolImage< T, CheckingPolicy >::xconvol(), and qgar::GenConvolImage< T, CheckingPolicy >::yconvol().

template<class T>
void qgar::GenMask1d< T >::setCoeff int  anIdx,
value_type  aCoeff
[inherited]
 

Set coefficient at given index.

Parameters:
anIdx index in the coefficient map
aCoeff coefficient value

Definition at line 223 of file GenMask1d.TCC.

References qgar::GenMask1d< T >::_pCoeffMap.

template<class T>
GenMask1d< T > * qgar::GenMask1d< T >::shallowCopy  )  [inherited]
 

Shallow copy: The coefficient map of the source mask is not duplicated.

See also qgar::GenMask1d(Genmask1d<t>&), qgar::GenMask1d::operator=,

Warning:
Before the copy is performed, the destination mask is not supposed to have the same dimensions as the source mask. When the copy is completed, the pixel map of the destination mask is the same memory space as the pixel map of the source mask.

Definition at line 240 of file GenMask1d.TCC.

References qgar::GenMask1d< T >::GenMask1d().

template<class T>
int qgar::GenMask1d< T >::width  )  const [inline, inherited]
 

Get mask width.

Definition at line 178 of file GenMask1d.TCC.

References qgar::GenMask1d< T >::_width.

Referenced by qgar::GenConvolImage< T, CheckingPolicy >::xconvol(), and qgar::GenConvolImage< T, CheckingPolicy >::yconvol().


Member Data Documentation

template<class T>
pointer qgar::GenMask1d< T >::_pCoeffMap [protected, inherited]
 

Pointer to the memory space of the mask.

Definition at line 313 of file GenMask1d.H.

Referenced by qgar::GenMask1d< T >::coeff(), qgar::GenMask1d< T >::deepCopyAux(), qgar::GenMask1d< T >::GenMask1d(), Mask1dGaussD1(), qgar::GenMask1d< T >::pCoeffMap(), qgar::GenMask1d< T >::setCoeff(), and qgar::GenMask1d< T >::~GenMask1d().

template<class T>
int* qgar::GenMask1d< T >::_pRefCnt [protected, inherited]
 

Reference counter.

Its value represent the number of other masks with which the current mask shares its coefficient map.

Definition at line 303 of file GenMask1d.H.

Referenced by qgar::GenMask1d< T >::deepCopyAux(), and qgar::GenMask1d< T >::~GenMask1d().

template<class T>
int qgar::GenMask1d< T >::_width [protected, inherited]
 

Mask width.

Definition at line 308 of file GenMask1d.H.

Referenced by qgar::GenMask1d< T >::deepCopyAux(), qgar::GenMask1d< T >::GenMask1d(), Mask1dGaussD1(), and qgar::GenMask1d< T >::width().


The documentation for this class was generated from the following files: