Base class for objects which build image pyramids. More...
#include <vimt_image_pyramid_builder.h>
Public Member Functions | |
vimt_image_pyramid_builder () | |
Dflt ctor. | |
virtual | ~vimt_image_pyramid_builder () |
Destructor. | |
virtual vimt_image_pyramid * | new_image_pyramid () const =0 |
Create new (empty) pyramid on heap. | |
virtual void | set_max_levels (int max_l)=0 |
Define maximum number of levels to build. | |
virtual int | max_levels () const =0 |
Get the current maximum number levels allowed. | |
virtual void | build (vimt_image_pyramid &, const vimt_image &) const =0 |
Build pyramid. | |
virtual void | extend (vimt_image_pyramid &) const =0 |
Extend pyramid. | |
virtual double | scale_step () const =0 |
Scale step between levels. | |
short | version_no () const |
Version number for I/O. | |
virtual vcl_string | is_a () const |
Name of the class. | |
virtual bool | is_class (vcl_string const &s) const |
Does the name of the class match the argument?. | |
virtual vimt_image_pyramid_builder * | clone () const =0 |
Create a copy on the heap and return base class pointer. | |
virtual void | print_summary (vcl_ostream &os) const =0 |
Print class to os. | |
virtual void | b_write (vsl_b_ostream &bfs) const =0 |
Save class to binary file stream. | |
virtual void | b_read (vsl_b_istream &bfs)=0 |
Load class from binary file stream. |
Base class for objects which build image pyramids.
Definition at line 20 of file vimt_image_pyramid_builder.h.
vimt_image_pyramid_builder::vimt_image_pyramid_builder | ( | ) |
Dflt ctor.
Definition at line 13 of file vimt_image_pyramid_builder.cxx.
vimt_image_pyramid_builder::~vimt_image_pyramid_builder | ( | ) | [virtual] |
Destructor.
Definition at line 19 of file vimt_image_pyramid_builder.cxx.
virtual void vimt_image_pyramid_builder::b_read | ( | vsl_b_istream & | bfs | ) | [pure virtual] |
Load class from binary file stream.
Implemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
virtual void vimt_image_pyramid_builder::b_write | ( | vsl_b_ostream & | bfs | ) | const [pure virtual] |
Save class to binary file stream.
Implemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
virtual void vimt_image_pyramid_builder::build | ( | vimt_image_pyramid & | , |
const vimt_image & | |||
) | const [pure virtual] |
Build pyramid.
Implemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
virtual vimt_image_pyramid_builder* vimt_image_pyramid_builder::clone | ( | ) | const [pure virtual] |
Create a copy on the heap and return base class pointer.
Implemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
virtual void vimt_image_pyramid_builder::extend | ( | vimt_image_pyramid & | ) | const [pure virtual] |
Extend pyramid.
The first layer of the pyramid must already be set.
Implemented in vimt_scale_pyramid_builder_2d< T >, vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
vcl_string vimt_image_pyramid_builder::is_a | ( | ) | const [virtual] |
Name of the class.
Reimplemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
Definition at line 39 of file vimt_image_pyramid_builder.cxx.
bool vimt_image_pyramid_builder::is_class | ( | vcl_string const & | s | ) | const [virtual] |
Does the name of the class match the argument?.
Reimplemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
Definition at line 46 of file vimt_image_pyramid_builder.cxx.
virtual int vimt_image_pyramid_builder::max_levels | ( | ) | const [pure virtual] |
Get the current maximum number levels allowed.
Implemented in vimt_gaussian_pyramid_builder_2d< T >, vimt_dog_pyramid_builder_2d< T >, and vimt_scale_pyramid_builder_2d< T >.
virtual vimt_image_pyramid* vimt_image_pyramid_builder::new_image_pyramid | ( | ) | const [pure virtual] |
Create new (empty) pyramid on heap.
Caller responsible for its deletion
Implemented in vimt_gaussian_pyramid_builder_2d< T >, vimt_dog_pyramid_builder_2d< T >, and vimt_scale_pyramid_builder_2d< T >.
virtual void vimt_image_pyramid_builder::print_summary | ( | vcl_ostream & | os | ) | const [pure virtual] |
Print class to os.
Implemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
virtual double vimt_image_pyramid_builder::scale_step | ( | ) | const [pure virtual] |
Scale step between levels.
Implemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
virtual void vimt_image_pyramid_builder::set_max_levels | ( | int | max_l | ) | [pure virtual] |
Define maximum number of levels to build.
Limits levels built in subsequent calls to build() Useful efficiency measure. As build() only takes a shallow copy of the original image, using max_l=1 avoids any copying or smoothing.
Implemented in vimt_gaussian_pyramid_builder_2d< T >, vimt_dog_pyramid_builder_2d< T >, and vimt_scale_pyramid_builder_2d< T >.
short vimt_image_pyramid_builder::version_no | ( | ) | const |
Version number for I/O.
Reimplemented in vimt_dog_pyramid_builder_2d< T >, vimt_gaussian_pyramid_builder_2d< T >, vimt_scale_pyramid_builder_2d< T >, and vimt_gaussian_pyramid_builder_2d_general< T >.
Definition at line 25 of file vimt_image_pyramid_builder.cxx.