#include <vipl_filter.h>
Inheritance diagram for vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr >:

Definition at line 93 of file vipl_filter.h.
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 | |
| 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_STATE & | ref_input_state () |
| VIPL_FILTER_STATE | filter_state () const |
| VIPL_FILTER_STATE & | ref_filter_state () |
| VIPL_FILTER_STATE | output_state () const |
| VIPL_FILTER_STATE & | ref_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< inimagept > | inf () const |
| vcl_vector< inimagept > & | ref_inf () |
| outimagept | outf () const |
| outimagept & | ref_outf () |
| void | put_outf (outimagept const &t) |
| in_section_type | src_section () const |
| in_section_type & | ref_src_section () |
| in_descriptor_type | insecp () const |
| in_descriptor_type & | ref_insecp () |
| void | put_insecp (in_descriptor_type const t) |
| out_section_type | dst_section () const |
| out_section_type & | ref_dst_section () |
| out_descriptor_type | secp () const |
| out_descriptor_type & | ref_secp () |
| void | put_secp (out_descriptor_type t) |
| in_ROA_descriptor_type | inROA () const |
| in_ROA_descriptor_type & | ref_inROA () |
| out_descriptor_type | ROA () const |
| out_descriptor_type & | ref_ROA () |
| bool | is_input_driven () const |
| bool & | ref_is_input_driven () |
| void | put_is_input_driven (bool b=true) |
| vipl_filter (ImgIn const *src_img, ImgOut *dst_img=0, int ninputs=1, int img_border=0, DataOut fill_val=0) | |
| A workhorse constructor for this abstract class. | |
| vipl_filter (ImgIn const **src_img, ImgOut *dst_img=0, int ninputs=1, int img_border=0, DataOut fill_val=0) | |
| A second workhorse constructor for this abstract class. | |
| virtual | ~vipl_filter () |
| vipl_filter () | |
| vipl_filter (vipl_filter< ImgIn, ImgOut, DataIn, DataOut, Arity, PixelItr > const &) | |
| 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) |
| second process form passing imgs by ptr. | |
| 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 | 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 | applyop ()=0 |
| This is the method that implements the basic form for the filtering operation. | |
| 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 | section_applyop ()=0 |
| This is the method that implements the filtering inside each section. | |
| 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(). | |
Static Private Member Functions | |
| static const VIPL_FILTER_STATE Not_Ready | VCL_STATIC_CONST_INIT_INT_DECL (0) |
| static const VIPL_FILTER_STATE Ready | VCL_STATIC_CONST_INIT_INT_DECL (1) |
| static const VIPL_FILTER_STATE Unchanged | VCL_STATIC_CONST_INIT_INT_DECL (2) |
| static const VIPL_FILTER_STATE Filter_Owned | VCL_STATIC_CONST_INIT_INT_DECL (4) |
Private Attributes | |
| int | hsimage_border_size |
| DataOut | hsdef_fill_value |
| VIPL_FILTER_STATE | hsinput_state |
| VIPL_FILTER_STATE | hsfilter_state |
| VIPL_FILTER_STATE | hsoutput_state |
| int | hsnuminputs |
| int | hsnumoutputs |
| vcl_vector< inimagept > | hsinf |
| outimagept | hsoutf |
| in_section_type | hssrc_section |
| in_descriptor_type | hsinsecp |
| out_section_type | hsdst_section |
| out_descriptor_type | hssecp |
| in_ROA_descriptor_type | hsinROA |
| out_ROA_descriptor_type | hsROA |
| bool | hsis_input_driven |
|
|||||
|
Definition at line 159 of file vipl_filter.h. |
|
|||||
|
Definition at line 176 of file vipl_filter.h. |
|
|||||
|
Definition at line 154 of file vipl_filter.h. |
|
|||||
|
Definition at line 107 of file vipl_filter.h. |
|
|||||
|
Definition at line 170 of file vipl_filter.h. |
|
|||||
|
Definition at line 181 of file vipl_filter.h. |
|
|||||
|
Definition at line 165 of file vipl_filter.h. |
|
|||||
|
Definition at line 108 of file vipl_filter.h. |
|
|||||
|
Definition at line 106 of file vipl_filter.h. |
|
|||||
|
Definition at line 109 of file vipl_filter.h. |
|
|||||
|
Definition at line 102 of file vipl_filter.h. |
|
|||||
|
Definition at line 104 of file vipl_filter.h. |
|
|||||
|
Definition at line 103 of file vipl_filter.h. |
|
|||||
|
Definition at line 105 of file vipl_filter.h. |
|
||||||||||||||||||||||||||||
|
A workhorse constructor for this abstract class. If dst_image (by default) the output will be generated automatically when filtering is about to proceed. (Either way, the filter increments refcount when set and decrements the refcount of the output when it is destroyed.) Some filters support multiple inputs, if ninputs is >1 then this constructor expects src_img to be the first element pointer to the input (i.e. src_img+1 is the location of input image2). Note that the filter keeps pointers to the input (properly refcounted). Definition at line 37 of file vipl_filter.txx. |
|
||||||||||||||||||||||||||||
|
A second workhorse constructor for this abstract class. If dst_img is null (by default), the output will be generated automatically when filtering is about to proceed. The filter decrements the refcount of the output when it is destroyed. Some filters support multiple inputs, if ninputs is >1 then this constructor uses non_consecutive input images (with their address in a c_vector, i.e. *(src_img+1) is the location of input image2). Note that the filter keeps pointers to the input (properly refcounted). Definition at line 96 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 149 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 190 of file vipl_filter.txx. |
|
||||||||||
|
Definition at line 214 of file vipl_filter.txx. |
|
|||||||||
|
This is the method that implements the basic form for the filtering operation.
Implemented in vipl_filter_2d< ImgIn, ImgOut, DataIn, DataOut, PixelItr >. |
|
||||||||||
|
Called by filter(). 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 Definition at line 699 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 120 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 167 of file vipl_filter.h. |
|
|||||||||
|
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). 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. Definition at line 623 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 128 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 114 of file vipl_filter.h. |
|
||||||||||
|
Return a ref to the input ``data object'' at the provided index (dereferences the internal pointer). (dereferences the internal pointer) Definition at line 504 of file vipl_filter.txx. |
|
||||||||||
|
Return a smart pointer to the input ``image'' at the provided index. Increments refcount before returning Definition at line 491 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 144 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 125 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 178 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 161 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 188 of file vipl_filter.h. |
|
|||||||||
|
returns if the filter is "ready" to run, i.e. all needed parameters are "set". Default just calls check_parms_1() Definition at line 653 of file vipl_filter.txx. |
|
||||||||||
|
Is the current apply section intersected with the ROA an empty region, if so we should not load it. If its empty there is no guarantee that the section_start and section_end will not overlap. Definition at line 265 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 136 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 140 of file vipl_filter.h. |
|
||||||||||
|
Get ref to specified output data item given index location.
Definition at line 556 of file vipl_filter.txx. |
|
||||||||||
|
Get ptr to specified output data item given index location. Inc's refcount before returning ptr Definition at line 541 of file vipl_filter.txx. |
|
|||||||||
|
Definition at line 149 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 131 of file vipl_filter.h. |
|
|||||||||
|
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 in vipl_dilate_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_erode_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, and vipl_median< ImgIn, ImgOut, DataIn, DataOut, PixelItr >. Definition at line 579 of file vipl_filter.txx. |
|
|||||||||
|
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 in vipl_dilate_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_erode_disk< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, vipl_gaussian_convolution< ImgIn, ImgOut, DataIn, DataOut, PixelItr >, and vipl_median< ImgIn, ImgOut, DataIn, DataOut, PixelItr >. Definition at line 570 of file vipl_filter.txx. |
|
||||||||||||||||
|
second process form passing imgs by ptr.
Definition at line 683 of file vipl_filter.txx. |
|
||||||||||||||||
|
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.
Definition at line 670 of file vipl_filter.txx. |
|
|||||||||
|
If a section is pointer safe, then this function is called to filter it. default is just to call section_applyop Definition at line 609 of file vipl_filter.txx. |
|
||||||||||||||||
|
Put the given pointer into an input "image" at the provided index. Decrements old objects refcount, increments newobjects refcount Definition at line 465 of file vipl_filter.txx. |
|
||||||||||
|
Definition at line 163 of file vipl_filter.h. |
|
||||||||||
|
Definition at line 190 of file vipl_filter.h. |
|
||||||||||||||||
|
Put the given pointer into output data at the given index location Decrements old putput refcount, Inc's newobjects refcount. Decrements old putput refcount, increments newobjects refcount. Definition at line 522 of file vipl_filter.txx. |
|
||||||||||
|
Definition at line 151 of file vipl_filter.h. |
|
||||||||||
|
Definition at line 133 of file vipl_filter.h. |
|
||||||||||
|
Definition at line 174 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 121 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 168 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 129 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 115 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 145 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 126 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 179 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 162 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 189 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 137 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 141 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 150 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 132 of file vipl_filter.h. |
|
|||||||||
|
Definition at line 184 of file vipl_filter.h. |