6 # include <vcl_msvc_warnings.h> 8 #include <vsl/vsl_binary_io.h> 17 switch (view_base->pixel_format())
20 case VIL_PIXEL_FORMAT_UINT_64: {
24 case VIL_PIXEL_FORMAT_INT_64: {
75 std::cerr <<
"I/O ERROR: vsl_b_write(vsl_b_ostream &, vil_image_view_base_sptr const&)\n" 76 <<
" Unknown pixel format "<< view_base->pixel_format() <<
'\n';
77 os.os().clear(std::ios::badbit);
90 std::ptrdiff_t istep,jstep,pstep;
92 std::ptrdiff_t offset;
97 std::cerr <<
"warning: vsl_b_read not implemented for vil_image_view binary io version: " << w <<
'\n';
108 std::cerr <<
"warning: vsl_b_read image ni*nj*np = 0\n";
115 switch (chunk->pixel_format()) {
117 case VIL_PIXEL_FORMAT_UINT_64: {
118 const auto* data = reinterpret_cast<const vxl_uint_64*>(chunk->data());
121 case VIL_PIXEL_FORMAT_INT_64: {
122 const auto* data = reinterpret_cast<const vxl_int_64*>(chunk->data());
127 const auto* data = reinterpret_cast<const vxl_uint_32*>(chunk->data());
131 const auto* data = reinterpret_cast<const vxl_int_32*>(chunk->data());
135 const auto* data = reinterpret_cast<const vxl_uint_16*>(chunk->data());
139 const auto* data = reinterpret_cast<const vxl_int_16*>(chunk->data());
143 const auto* data = reinterpret_cast<const vxl_byte*>(chunk->data());
147 const auto* data = reinterpret_cast<const vxl_sbyte*>(chunk->data());
151 const auto* data = reinterpret_cast<const float*>(chunk->data());
155 const auto* data = reinterpret_cast<const double*>(chunk->data());
159 const bool* data = reinterpret_cast<const bool*>(chunk->data());
164 const auto* data =
reinterpret_cast<const std::complex<float>*
>(chunk->data());
168 const auto* data =
reinterpret_cast<const std::complex<double>*
>(chunk->data());
172 std::cerr <<
"I/O ERROR: vsl_b_read(vsl_b_istream&, vil_image_view<T>&)\n" 173 <<
" Unknown version number "<< w <<
'\n';
174 is.is().
clear(std::ios::badbit);
184 std::cerr <<
"warning: vsl_b_write not implemented for vil_image_resource_sptr\n";
190 std::cerr <<
"warning: vsl_b_read not implemented for vil_image_resource_sptr\n";
197 std::cerr <<
"warning: vsl_b_write not implemented for vil_image_view_base\n";
203 std::cerr <<
"warning: vsl_b_read not implemented for vil_image_view_base\n";
An abstract base class of smart pointers to actual image data in memory.
A templated smart pointer class.
A base class reference-counting view of some image data.
Concrete view of image data of type T held in memory.
vsl binary I/O functions for reading and writing vil_image_view_base_sptr.
void vsl_b_write(vsl_b_ostream &os, const vil_image_view< T > &image)
Binary save vil_image_view<T> to stream.
A base class reference-counting view of some image data.
void vsl_b_read(vsl_b_istream &is, vil_image_view< T > &image)
Binary load vil_image_view<T> from stream.