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

Pixel value histogram of 2D image. More...

#include <vipl_histogram.h>

Inheritance diagram for vipl_histogram< 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

DataIn scalein () const
DataIn shiftin () const
DataOut scaleout () const
int indexout () const
bool checkrange () const
 vipl_histogram (DataIn si=1, DataIn shi=0, DataOut so=1)
 vipl_histogram (vipl_histogram const &A)
 ~vipl_histogram ()
bool section_applyop ()
 The main filtering method, derived class must supply it.
bool section_preop ()
 Use the preop stage to zero this histogram.
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...

Public Attributes

DataIn scalein_
DataIn shiftin_
DataOut scaleout_
int indexout_
bool checkrange_

Protected Member Functions

virtual bool applyop ()
 This walks over the sections calling section_applyop.
virtual bool preop ()
 This is the function that gets called for every iteration of the filtering operation, before the actual filtering routine.
virtual bool postop ()
 This is the function that gets called after every iteration of the actual filtering routine.
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().

Detailed Description

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

Pixel value histogram of 2D image.

This image processing class creates a pixel value histogram of a 2D image and writes it into a "1D" image (actually a row of a 2D image). It is implemented using the vipl filters, which means that it can be used with any image class (vxl or not) of any pixel data type.

The constructor takes three (defaulted) arguments: the scaling SI to be applied to the input pixel values, the translation (shift) SHI to be applied to the input pixel values, and the scaling SO to be applied to the output histogram values. By default, of course, SI=1, SHI=0 and SO=1.

By specifying SI, one actually specifies the bin size of the histogram: e.g., SI=10 means that all pixel values in the range (e.g.) 15 to 25 (15 exclusive, 25 inclusive) contribute to the same histogram count (bin 2). Clearly, for `int'-like pixels, the natural value for SI is 1, but for float pixels, SI should be set to a reasonable bin size.

Combined with SI, one can set SHI to set the boundaries of those bins: e.g., SI=10 and SHI=15 will map pixels values in the range 0 to 10 to histogram bin 2.

The third parameter, SO, re-scales the value of the output bin count. When set to 1 (the default), the pixel values of the output image are the (integer) pixel counts of the bin which they represent. Thus the `natural' output pixel type is int. If this is not desired, SO can be set to make sure that the histogram values fall within the pixel value range of the output data type.

The there are two other attributes, not specified in the constructor, which default to 0. The first, indexout defines what row of the output image will be used for the actual storage of the histogram values. By making the output image multi-row and changing this the same filter can do multiple histograms.

The final attribute, checkrange is a boolean that determines if the histogram should do range checking on bin access. This can be useful for float images. if a value is below the first image access or above the last, it's set to the extremal value.

Note it does not limit the maximum of bins so they may wrap around for unsigned and accessing a small number of bins from a large dynamic range image may segfault if check bounds is not turned on (off by default).

TB says: Note this example does not work unless output image (the histogram) is same size as input image. This will be fixed when ROI's are update to be either input or output driven. (They are currently output driven, so only the input pixels corresponding to the output image size are considered. TB made various mods for newgen and IUE consistency and allow one to chose which "column" in the 2D output image was used to store the histogram.

Examples:

examples/example_histogram.cxx.

Definition at line 76 of file vipl_histogram.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_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::vipl_histogram ( DataIn  si = 1,
DataIn  shi = 0,
DataOut  so = 1 
) [inline]

Definition at line 94 of file vipl_histogram.h.

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

Definition at line 105 of file vipl_histogram.h.

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

Definition at line 115 of file vipl_histogram.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>
bool vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::checkrange ( ) const [inline]

Definition at line 90 of file vipl_histogram.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

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

Definition at line 88 of file vipl_histogram.h.

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.

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.

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

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

This function 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

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

Reimplemented in vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_dilate_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_erode_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, and vipl_median< ImgIn, ImgOut, DataIn, DataOut, PixelItr >.

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

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

This function 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

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

Reimplemented in vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_dilate_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_erode_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, and vipl_median< ImgIn, ImgOut, DataIn, DataOut, PixelItr >.

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

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.

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.

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.

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.

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.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
DataIn vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::scalein ( ) const [inline]

Definition at line 80 of file vipl_histogram.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
DataOut vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::scaleout ( ) const [inline]

Definition at line 84 of file vipl_histogram.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_histogram< 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_histogram.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

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

Use the preop stage to zero this histogram.

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

Definition at line 64 of file vipl_histogram.txx.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
DataIn vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::shiftin ( ) const [inline]

Definition at line 82 of file vipl_histogram.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>
bool vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::checkrange_

Definition at line 89 of file vipl_histogram.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
int vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::indexout_

Definition at line 87 of file vipl_histogram.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
DataIn vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::scalein_

Definition at line 79 of file vipl_histogram.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
DataOut vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::scaleout_

Definition at line 83 of file vipl_histogram.h.

template<class ImgIn , class ImgOut , class DataIn , class DataOut , class PixelItr = vipl_trivial_pixeliter>
DataIn vipl_histogram< ImgIn, ImgOut, DataIn, DataOut, PixelItr >::shiftin_

Definition at line 81 of file vipl_histogram.h.


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