contrib/tbl/vipl/section/vipl_filterable_section_container_generator_vil_image_view.txx
Go to the documentation of this file.
00001 #ifndef vipl_filterable_section_container_generator_vil_image_view_txx_
00002 #define vipl_filterable_section_container_generator_vil_image_view_txx_
00003 
00004 #include <vil/vil_image_view.h>
00005 
00006 #undef FILTER_IMPTR_DEC_REFCOUNT
00007 #define FILTER_IMPTR_DEC_REFCOUNT(v) { delete (v); (v)=0; }
00008 #undef FILTER_IMPTR_INC_REFCOUNT
00009 #define FILTER_IMPTR_INC_REFCOUNT(v)
00010 #undef FILTER_KERNPTR_DEC_REFCOUNT
00011 #define FILTER_KERNPTR_DEC_REFCOUNT(v)
00012 
00013 #include <vipl/section/vipl_section_container.txx>
00014 #include <vipl/section/vipl_section_iterator.txx>
00015 template <class DataType>
00016 vipl_section_container<DataType>*
00017 vipl_filterable_section_container_generator(const vil_image_view<DataType>& im, DataType*)
00018 {
00019   vipl_section_container<DataType> *rtn = new vipl_section_container<DataType>((vipl_section_container<DataType>*)0);
00020   rtn->put_imgptr((const void*) &im);
00021   rtn->ref_imgsz()[0] = im.ni();
00022   rtn->ref_imgsz()[1] = im.nj();
00023 
00024   rtn->ref_secsz()[0] = im.ni(); // should actually be block_width for block-buffered images
00025   rtn->ref_secsz()[1] = im.nj(); // should actually be block_height for block-buffered images
00026 
00027   return rtn;
00028 }
00029 
00030 #endif // vipl_filterable_section_container_generator_vil_image_view_txx_