// This is core/vil/vil_print.h #ifndef vil_print_h_ #define vil_print_h_ //: // \file // \author Ian Scott, Tim Cootes. #include #include #include "vil_image_view.h" #ifdef _MSC_VER # include #endif //: How to print value in vil_print_all(image_view) // \relatesalso vil_image_view template void vil_print_value(std::ostream& s, const T& value, unsigned=0); // Specializations must be declared before use, so they need to be // declared here. #ifndef DOXYGEN_SHOULD_SKIP_THIS #define vil_print_declare_specialization( T ) \ template <> \ void vil_print_value(std::ostream& os, const T & value, unsigned) vil_print_declare_specialization( bool ); vil_print_declare_specialization( vxl_byte ); vil_print_declare_specialization( vxl_sbyte ); vil_print_declare_specialization( vxl_int_16 ); vil_print_declare_specialization( vxl_uint_16 ); vil_print_declare_specialization( vxl_int_32 ); vil_print_declare_specialization( vxl_uint_32 ); #if VXL_HAS_INT_64 vil_print_declare_specialization( vxl_int_64 ); vil_print_declare_specialization( vxl_uint_64 ); #endif vil_print_declare_specialization( float ); vil_print_declare_specialization( double ); vil_print_declare_specialization( std::complex ); vil_print_declare_specialization( std::complex ); vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); #if VXL_HAS_INT_64 vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); #endif vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgb ); vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); #if VXL_HAS_INT_64 vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); #endif vil_print_declare_specialization( vil_rgba ); vil_print_declare_specialization( vil_rgba ); #undef vil_print_declare_specialization #endif // DOXYGEN_SHOULD_SKIP_THIS //: Print all image data to os in a grid (rounds output to int) // \relatesalso vil_image_view template inline void vil_print_all(std::ostream& os,const vil_image_view& view, unsigned width=0) { if (!width) width = static_cast(os.width()); os<1) os<<"Plane "<