Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr > Class Template Reference

Gaussian smoothing. More...

#include <vipl_gaussian_convolution.h>

Inheritance diagram for vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef PixelItr::Titerator Titerator
typedef PixelItr::Yiterator Yiterator
typedef PixelItr::Xiterator Xiterator
typedef PixelItr::Ziterator Ziterator
typedef vipl_filter_abs parent
typedef ImgIn const * inimagept
typedef ImgOut * outimagept
typedef vipl_filter thisclass
typedef vipl_section_container
< DataIn > * 
in_section_type
typedef
vipl_section_descriptor
< DataIn > * 
in_descriptor_type
typedef vipl_section_container
< DataOut > * 
out_section_type
typedef
vipl_section_descriptor
< DataOut > * 
out_descriptor_type
typedef
vipl_section_descriptor
< DataIn > * 
in_ROA_descriptor_type
typedef
vipl_section_descriptor
< DataOut > * 
out_ROA_descriptor_type

Public Member Functions

double sigma () const
double cutoff () const
 vipl_gaussian_convolution (double s=1, double c=0.01)
 vipl_gaussian_convolution (vipl_gaussian_convolution const &A)
 ~vipl_gaussian_convolution ()
bool section_applyop ()
 The main filtering method, derived class must supply it.
bool preop ()
 This is the function that gets called for every iteration of the filtering operation, before the actual filtering routine.
bool postop ()
 This is the function that gets called after every iteration of the actual filtering routine.
int image_border_size () const
int & ref_image_border_size ()
DataOut def_fill_value () const
DataOut & ref_def_fill_value ()
VIPL_FILTER_STATE input_state () const
VIPL_FILTER_STATEref_input_state ()
VIPL_FILTER_STATE filter_state () const
VIPL_FILTER_STATEref_filter_state ()
VIPL_FILTER_STATE output_state () const
VIPL_FILTER_STATEref_output_state ()
void put_output_state (VIPL_FILTER_STATE const t)
int numinputs () const
int & ref_numinputs ()
int numoutputs () const
int & ref_numoutputs ()
vcl_vector< inimageptinf () const
vcl_vector< inimagept > & ref_inf ()
outimagept outf () const
outimageptref_outf ()
void put_outf (outimagept const &t)
in_section_type src_section () const
in_section_typeref_src_section ()
in_descriptor_type insecp () const
in_descriptor_typeref_insecp ()
void put_insecp (in_descriptor_type const t)
out_section_type dst_section () const
out_section_typeref_dst_section ()
out_descriptor_type secp () const
out_descriptor_typeref_secp ()
void put_secp (out_descriptor_type t)
in_ROA_descriptor_type inROA () const
in_ROA_descriptor_typeref_inROA ()
out_descriptor_type ROA () const
out_descriptor_typeref_ROA ()
bool is_input_driven () const
bool & ref_is_input_driven ()
void put_is_input_driven (bool b=true)
virtual bool filter ()
 The main operation of the class, filters input images to produce output image.
bool process (ImgIn const &inimg, ImgOut &outimg)
 For those filters that only need one input and output set (after construction), the following function allows one to treat the filter object more like a function calling obj.process(inimg, outimg) will set the input and output then call filter() It does not require pointers but takes the address of its inputs, set the fields in the filter does the filter and un-sets the in/out fields in the filter.
bool process (ImgIn const *inimg, ImgOut *outimg)
int start (int axis) const
 The ``start'' coordinate for the current apply section.
int start (int axis, int other_axis_value) const
int stop (int axis) const
 The ``stopping'' coordinate for the current apply section.
int stop (int axis, int other_axis_value) const
int start_src (int axis) const
 The ``start'' coordinate for the current source apply section.
int stop_src (int axis) const
 The ``stopping'' coordinate for the current source apply section.
int start_dst (int axis) const
 The ``start'' coordinate for the current destination apply section.
int stop_dst (int axis) const
 The ``stopping'' coordinate for the current destination apply section.
bool put_in_data_ptr (ImgIn const *fpointer, int index=0)
 Put the given pointer into an input "image" at the provided index.
inimagept in_data_ptr (int index=0)
 Return a smart pointer to the input ``image'' at the provided index.
const ImgIn & in_data (int index=0) const
 Return a ref to the input ``data object'' at the provided index (dereferences the internal pointer).
bool put_out_data_ptr (ImgOut *fpointer, int=0)
 Put the given pointer into output data at the given index location Decrements old putput refcount, Inc's newobjects refcount.
virtual outimagept out_data_ptr (int index=0)
 Get ptr to specified output data item given index location.
virtual ImgOut & out_data (int index=0) const
 Get ref to specified output data item given index location.
virtual bool is_ready () const
 returns if the filter is "ready" to run, i.e.
int is_section_within_ROA (int axis) const
 Is the current apply section intersected with the ROA an empty region, if so we should not load it.

Static Public Member Functions

static int X_Axis ()
 Constant for accessing X_axis when appropriate for the filter. Currently==0, but please use the function...
static int Y_Axis ()
 Constant for accessing Y_axis when appropriate for the filter. Currently==1, but please use the function...
static int Z_Axis ()
 Constant for accessing Z_axis when appropriate for the filter. Currently==2, but please use the function...
static int T_Axis ()
 Constant for accessing T_axis when appropriate for the filter. Currently==3, but please use the function...

Protected Member Functions

virtual bool applyop ()
 This walks over the sections calling section_applyop.
virtual bool section_preop ()
 For each section, this method runs before section_applyop.
virtual bool section_postop ()
 For each section, this method runs after section_applyop.
virtual bool ptr_based_section_applyop ()
 If a section is pointer safe, then this function is called to filter it.
virtual bool check_params_1 (bool &proceed_on_warn) const
 Called by filter().

Private Member Functions

double & ref_sigma ()
void put_sigma (double v)
double & ref_cutoff ()
void put_cutoff (double v)
double *& ref_mask ()
void put_mask (double *v)
double * mask () const
int & ref_masksize ()
void put_masksize (int v)
int masksize () const

Private Attributes

double sigma_
double cutoff_
double * mask_
int masksize_

Detailed Description

template<class ImgIn, class ImgOut, class DataIn, class DataOut, class PixelItr = vipl_trivial_pixeliter>
class vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >

Gaussian smoothing.

Gaussian filtering is an operation that replaces a pixel with the average value of its surrounding pixels, in a certain neighbourhood, according to a Gaussian distribution (with given sigma= std deviation). (The window is cut when `cutoff' (default: 0.01) of the probability mass lies out of the window.)

Definition at line 37 of file vipl_gaussian_convolution.h.


Member Typedef Documentation

typedef vipl_section_descriptor< DataIn >* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::in_descriptor_type [inherited]

Definition at line 158 of file vipl_filter.h.

typedef vipl_section_descriptor< DataIn >* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::in_ROA_descriptor_type [inherited]

Definition at line 175 of file vipl_filter.h.

typedef vipl_section_container< DataIn >* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::in_section_type [inherited]

Definition at line 153 of file vipl_filter.h.

typedef ImgIn const* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::inimagept [inherited]

Definition at line 106 of file vipl_filter.h.

typedef vipl_section_descriptor< DataOut>* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::out_descriptor_type [inherited]

Definition at line 169 of file vipl_filter.h.

typedef vipl_section_descriptor< DataOut >* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::out_ROA_descriptor_type [inherited]

Definition at line 180 of file vipl_filter.h.

typedef vipl_section_container< DataOut >* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::out_section_type [inherited]

Definition at line 164 of file vipl_filter.h.

typedef ImgOut* vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::outimagept [inherited]

Definition at line 107 of file vipl_filter.h.

typedef vipl_filter_abs vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::parent [inherited]

Definition at line 105 of file vipl_filter.h.

typedef vipl_filter vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::thisclass [inherited]

Definition at line 108 of file vipl_filter.h.

typedef PixelItr::Titerator vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::Titerator [inherited]

Definition at line 101 of file vipl_filter.h.

typedef PixelItr::Xiterator vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::Xiterator [inherited]

Definition at line 103 of file vipl_filter.h.

typedef PixelItr::Yiterator vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::Yiterator [inherited]

Definition at line 102 of file vipl_filter.h.

typedef PixelItr::Ziterator vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::Ziterator [inherited]

Definition at line 104 of file vipl_filter.h.


Constructor & Destructor Documentation

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::vipl_gaussian_convolution ( double  s = 1,
double  c = 0.01 
) [inline]

Definition at line 64 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::vipl_gaussian_convolution ( vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr > const &  A) [inline]

Definition at line 74 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::~vipl_gaussian_convolution ( ) [inline]

Definition at line 81 of file vipl_gaussian_convolution.h.


Member Function Documentation

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr >
bool vipl_filter_2d< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::applyop ( ) [protected, virtual, inherited]

This walks over the sections calling section_applyop.

Now that we know the dim we can write the loop.

Implements vipl_filter< ImgIn, ImgOut, DataIn, DataOut, 2, PixelItr >.

Definition at line 60 of file vipl_filter_2d.txx.

virtual bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::check_params_1 ( bool &  proceed_on_warn) const [protected, virtual, inherited]

Called by filter().

Called by method filter() and checks additional parameters required before the filtering operation can proceed.

checks for input/output being set. User can make it check for additional parameters required before the filtering operation can proceed. Allows filter to "proceed" on warnings so not public

Default is empty_func returning true, but subclasses can define as then need. check_parms_1

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::cutoff ( ) const [inline]

Definition at line 49 of file vipl_gaussian_convolution.h.

DataOut vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::def_fill_value ( ) const [inline, inherited]

Definition at line 119 of file vipl_filter.h.

out_section_type vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::dst_section ( ) const [inline, inherited]

Definition at line 166 of file vipl_filter.h.

virtual bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::filter ( ) [virtual, inherited]

The main operation of the class, filters input images to produce output image.

Before this function can run to completion, all arguments must be set via the respective ``put_*'' functions (or be supplied at construction time).

Before this function can run to completion, all arguments must be set via the respective ``put_*'' functions (or be supplied at construction time). Particularly important is the filter input. The programmer should take a look at the concrete child classes of filter to see what additional parameters they need before the actual filter operation can proceed.

Particularly important is the filter input. The programmer should take a look at the concrete child classes of filter to see what additional parameters they need before the actual filter operation can proceed.

VIPL_FILTER_STATE vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::filter_state ( ) const [inline, inherited]

Definition at line 127 of file vipl_filter.h.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::image_border_size ( ) const [inline, inherited]

Definition at line 113 of file vipl_filter.h.

const ImgIn& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::in_data ( int  index = 0) const [inherited]

Return a ref to the input ``data object'' at the provided index (dereferences the internal pointer).

Return a ref to the input ``data object'' at the provided index.

(dereferences the internal pointer)

inimagept vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::in_data_ptr ( int  index = 0) [inherited]

Return a smart pointer to the input ``image'' at the provided index.

Increments refcount before returning

vcl_vector<inimagept> vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::inf ( ) const [inline, inherited]

Definition at line 143 of file vipl_filter.h.

VIPL_FILTER_STATE vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::input_state ( ) const [inline, inherited]

Definition at line 124 of file vipl_filter.h.

in_ROA_descriptor_type vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::inROA ( ) const [inline, inherited]

Definition at line 177 of file vipl_filter.h.

in_descriptor_type vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::insecp ( ) const [inline, inherited]

Definition at line 160 of file vipl_filter.h.

bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::is_input_driven ( ) const [inline, inherited]

Definition at line 187 of file vipl_filter.h.

virtual bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::is_ready ( ) const [virtual, inherited]

returns if the filter is "ready" to run, i.e.

all needed parameters are "set". Default just calls check_parms_1()

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::is_section_within_ROA ( int  axis) const [inherited]

Is the current apply section intersected with the ROA an empty region, if so we should not load it.

If it's empty there is no guarantee that the section_start and section_end will not overlap.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double* vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::mask ( ) const [inline, private]

Definition at line 56 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
int vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::masksize ( ) const [inline, private]

Definition at line 60 of file vipl_gaussian_convolution.h.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::numinputs ( ) const [inline, inherited]

Definition at line 135 of file vipl_filter.h.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::numoutputs ( ) const [inline, inherited]

Definition at line 139 of file vipl_filter.h.

virtual ImgOut& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::out_data ( int  index = 0) const [virtual, inherited]

Get ref to specified output data item given index location.

virtual outimagept vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::out_data_ptr ( int  index = 0) [virtual, inherited]

Get ptr to specified output data item given index location.

Inc's refcount before returning ptr

Inc's refcount before returning ptr.

outimagept vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::outf ( ) const [inline, inherited]

Definition at line 148 of file vipl_filter.h.

VIPL_FILTER_STATE vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::output_state ( ) const [inline, inherited]

Definition at line 130 of file vipl_filter.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr >
bool vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::postop ( ) [virtual]

This is the function that gets called after every iteration of the actual filtering routine.

Can be used for post_processing normalization or cleaning up the edges. Default op is noop

Reimplemented from vipl_filter< ImgIn, ImgOut, DataIn, DataOut, 2, PixelItr >.

Definition at line 87 of file vipl_gaussian_convolution.txx.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr >
bool vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::preop ( ) [virtual]

This is the function that gets called for every iteration of the filtering operation, before the actual filtering routine.

Can be used for normalization or such. Default op is noop

Reimplemented from vipl_filter< ImgIn, ImgOut, DataIn, DataOut, 2, PixelItr >.

Definition at line 63 of file vipl_gaussian_convolution.txx.

bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::process ( ImgIn const &  inimg,
ImgOut &  outimg 
) [inherited]

For those filters that only need one input and output set (after construction), the following function allows one to treat the filter object more like a function calling obj.process(inimg, outimg) will set the input and output then call filter() It does not require pointers but takes the address of its inputs, set the fields in the filter does the filter and un-sets the in/out fields in the filter.

bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::process ( ImgIn const *  inimg,
ImgOut *  outimg 
) [inherited]

second process form passing imgs by ptr.

virtual bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ptr_based_section_applyop ( ) [protected, virtual, inherited]

If a section is pointer safe, then this function is called to filter it.

This is the method that implements the filtering inside each section.

default is just to call section_applyop

You must supply this function. If a section is pointer safe, then this function is called to filter it. Default is just to call the non-pointer section_applyop

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
void vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::put_cutoff ( double  v) [inline, private]

Definition at line 46 of file vipl_gaussian_convolution.h.

bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_in_data_ptr ( ImgIn const *  fpointer,
int  index = 0 
) [inherited]

Put the given pointer into an input "image" at the provided index.

Decrements old objects refcount, increments newobjects refcount

Examples:
examples/example_gradient_mag.cxx, examples/example_histogram.cxx, examples/example_sobel.cxx, and examples/example_x_gradient.cxx.
void vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_insecp ( in_descriptor_type const  t) [inline, inherited]

Definition at line 162 of file vipl_filter.h.

void vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_is_input_driven ( bool  b = true) [inline, inherited]

Definition at line 189 of file vipl_filter.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
void vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::put_mask ( double *  v) [inline, private]

Definition at line 55 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
void vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::put_masksize ( int  v) [inline, private]

Definition at line 59 of file vipl_gaussian_convolution.h.

bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_out_data_ptr ( ImgOut *  fpointer,
int  = 0 
) [inherited]

Put the given pointer into output data at the given index location Decrements old putput refcount, Inc's newobjects refcount.

Put the given pointer into output data at the given index location.

Decrements old putput refcount, increments newobjects refcount.

void vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_outf ( outimagept const &  t) [inline, inherited]

Definition at line 150 of file vipl_filter.h.

void vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_output_state ( VIPL_FILTER_STATE const  t) [inline, inherited]

Definition at line 132 of file vipl_filter.h.

void vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::put_secp ( out_descriptor_type  t) [inline, inherited]

Definition at line 173 of file vipl_filter.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
void vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::put_sigma ( double  v) [inline, private]

Definition at line 43 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double& vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::ref_cutoff ( ) [inline, private]

Definition at line 45 of file vipl_gaussian_convolution.h.

DataOut& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_def_fill_value ( ) [inline, inherited]

Definition at line 120 of file vipl_filter.h.

out_section_type& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_dst_section ( ) [inline, inherited]

Definition at line 167 of file vipl_filter.h.

VIPL_FILTER_STATE& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_filter_state ( ) [inline, inherited]

Definition at line 128 of file vipl_filter.h.

int& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_image_border_size ( ) [inline, inherited]

Definition at line 114 of file vipl_filter.h.

vcl_vector<inimagept>& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_inf ( ) [inline, inherited]

Definition at line 144 of file vipl_filter.h.

VIPL_FILTER_STATE& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_input_state ( ) [inline, inherited]

Definition at line 125 of file vipl_filter.h.

in_ROA_descriptor_type& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_inROA ( ) [inline, inherited]

Definition at line 178 of file vipl_filter.h.

in_descriptor_type& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_insecp ( ) [inline, inherited]

Definition at line 161 of file vipl_filter.h.

bool& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_is_input_driven ( ) [inline, inherited]

Definition at line 188 of file vipl_filter.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double*& vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::ref_mask ( ) [inline, private]

Definition at line 54 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
int& vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::ref_masksize ( ) [inline, private]

Definition at line 58 of file vipl_gaussian_convolution.h.

int& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_numinputs ( ) [inline, inherited]

Definition at line 136 of file vipl_filter.h.

int& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_numoutputs ( ) [inline, inherited]

Definition at line 140 of file vipl_filter.h.

outimagept& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_outf ( ) [inline, inherited]

Definition at line 149 of file vipl_filter.h.

VIPL_FILTER_STATE& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_output_state ( ) [inline, inherited]

Definition at line 131 of file vipl_filter.h.

out_descriptor_type& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_ROA ( ) [inline, inherited]

Definition at line 183 of file vipl_filter.h.

out_descriptor_type& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_secp ( ) [inline, inherited]

Definition at line 172 of file vipl_filter.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double& vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::ref_sigma ( ) [inline, private]

Definition at line 42 of file vipl_gaussian_convolution.h.

in_section_type& vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ref_src_section ( ) [inline, inherited]

Definition at line 156 of file vipl_filter.h.

out_descriptor_type vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::ROA ( ) const [inline, inherited]

Definition at line 182 of file vipl_filter.h.

out_descriptor_type vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::secp ( ) const [inline, inherited]

Definition at line 171 of file vipl_filter.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr >
bool vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::section_applyop ( ) [virtual]

The main filtering method, derived class must supply it.

Implements vipl_filter_2d< ImgIn, ImgOut, DataIn, DataOut, PixelItr >.

Definition at line 8 of file vipl_gaussian_convolution.txx.

virtual bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::section_postop ( ) [protected, virtual, inherited]

For each section, this method runs after section_applyop.

Default is no_op

Default is noop

virtual bool vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::section_preop ( ) [protected, virtual, inherited]

For each section, this method runs before section_applyop.

This is the method that implements the basic form for the filtering operation.

Default at this level is no_op. (lower level class redefines it to ``fill'' the image borders).

For each section, this method runs before section_applyop. Default at this level is noop. (lower level class redefine it to ``fill'' the image borders).

Reimplemented in vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::sigma ( ) const [inline]

Definition at line 48 of file vipl_gaussian_convolution.h.

in_section_type vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::src_section ( ) const [inline, inherited]

Definition at line 155 of file vipl_filter.h.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::start ( int  axis) const [inherited]

The ``start'' coordinate for the current apply section.

What is the ``start coordinate'' for the current apply section.

This always leaves a border around the section. (E.g. if there is no ROA this is actual section start + image_boarder_size; remember section iteration overlaps). If the current section is outside the ROA, the section_start and section_end may be equal.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::start ( int  axis,
int  other_axis_value 
) const [inherited]
int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::start_dst ( int  axis) const [inherited]

The ``start'' coordinate for the current destination apply section.

What is the ``start'' coordinate for the current destination apply section.

This always leaves a border around the section. (E.g. if there is no ROA this is actual section start + image_boarder_size; remember section iteration overlaps). If the current section is outside the ROA, the section_start and section_end may be equal.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::start_src ( int  axis) const [inherited]

The ``start'' coordinate for the current source apply section.

What is the ``start'' coordinate for the current source apply section.

This always leaves a border around the section. (E.g. if there is no ROA this is actual section start + image_boarder_size; remember section iteration overlaps). If the current section is outside the ROA, the section_start and section_end may be equal.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::stop ( int  axis) const [inherited]

The ``stopping'' coordinate for the current apply section.

What is the ``stopping'' coordinate for the current apply section.

This always leaves a border around the section. (E.g. if there is no ROA this is actual section end - image_boarder_size; remember section iteration overlaps). If the current section is outside the ROA, the section_start and section_end may be equal.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::stop ( int  axis,
int  other_axis_value 
) const [inherited]
int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::stop_dst ( int  axis) const [inherited]

The ``stopping'' coordinate for the current destination apply section.

What is the ``stopping'' coordinate for the current apply section.

This always leaves a border around the section. (E.g. if there is no ROA this is actual section end - image_boarder_size; remember section iteration overlaps). If the current section is outside the ROA, the section_start and section_end may be equal.

int vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >::stop_src ( int  axis) const [inherited]

The ``stopping'' coordinate for the current source apply section.

What is the ``stopping'' coordinate for the current apply section.

This always leaves a border around the section. (E.g. if there is no ROA this is actual section end - image_boarder_size; remember section iteration overlaps). If the current section is outside the ROA, the section_start and section_end may be equal.

static int vipl_filter_abs::T_Axis ( ) [inline, static, inherited]

Constant for accessing T_axis when appropriate for the filter. Currently==3, but please use the function...

Definition at line 49 of file vipl_filter_abs.h.

static int vipl_filter_abs::X_Axis ( ) [inline, static, inherited]

Constant for accessing X_axis when appropriate for the filter. Currently==0, but please use the function...

Definition at line 43 of file vipl_filter_abs.h.

static int vipl_filter_abs::Y_Axis ( ) [inline, static, inherited]

Constant for accessing Y_axis when appropriate for the filter. Currently==1, but please use the function...

Definition at line 45 of file vipl_filter_abs.h.

static int vipl_filter_abs::Z_Axis ( ) [inline, static, inherited]

Constant for accessing Z_axis when appropriate for the filter. Currently==2, but please use the function...

Definition at line 47 of file vipl_filter_abs.h.


Member Data Documentation

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::cutoff_ [private]

Definition at line 44 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double* vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::mask_ [private]

Definition at line 53 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
int vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::masksize_ [private]

Definition at line 57 of file vipl_gaussian_convolution.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
double vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::sigma_ [private]

Definition at line 41 of file vipl_gaussian_convolution.h.


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