33 #include<boost/regex.hpp>
35 #include <pni/core/types.hpp>
37 #include "../image_reader.hpp"
142 return _image_info.size();
148 return _image_info[i];
162 template<
typename CTYPE> CTYPE
image(
size_t i,
size_t c=0);
178 template<
typename CTYPE>
179 void image(CTYPE &array,
size_t i,
size_t c=0);
195 throw memory_allocation_error(EXCEPTION_RECORD,
196 "Allocation of container for image data failed!");
203 catch(file_error &error)
206 error.append(EXCEPTION_RECORD);
214 template<
typename CTYPE>
221 if(data.size()!= inf.
npixels())
223 std::stringstream ss;
224 ss<<
"Container size ("<<data.size()<<
") does not match image ";
225 ss<<
"size ("<<inf.
npixels()<<
")!";
226 throw size_mismatch_error(EXCEPTION_RECORD,ss.str());
234 if(channel.
type_id() == type_id_t::INT16)
236 cbf::dectris_reader::read_data_byte_offset<int16>(
238 if(channel.
type_id() == type_id_t::INT32)
240 cbf::dectris_reader::read_data_byte_offset<int32>(
244 file_error error(EXCEPTION_RECORD,
245 "No data reader for this data type!");
251 throw file_error(EXCEPTION_RECORD,
"Unknown detector vendor!");
compression_id
CBF compression id.
Definition: types.hpp:33
image information type
Definition: image_info.hpp:43
CTYPE image(size_t i, size_t c=0)
read image
Definition: cbf_reader.hpp:184
pni::core::type_id_t type_id() const
get type ID
Definition: image_channel_info.hpp:71
base class for image readers
Definition: image_reader.hpp:53
virtual void close()
close the file
Definition: cbf_reader.hpp:121
image channel information class
Definition: image_channel_info.hpp:39
std::streampos _data_offset
store data offset
Definition: cbf_reader.hpp:75
virtual void close()
close the file
Definition: data_reader.cpp:114
std::ifstream & _get_stream() const
get stream
Definition: data_reader.hpp:84
base clase for CBF readers
Definition: cbf_reader.hpp:67
virtual void open()
open file
Definition: cbf_reader.hpp:132
vendor_id
CBF vendor id.
Definition: types.hpp:39
Definition: cbf_reader.hpp:41
cbf_reader & operator=(cbf_reader &&r)
move assignment
Definition: cbf_reader.cpp:60
virtual void open()
open file
Definition: data_reader.cpp:121
cbf::vendor_id _detector_vendor
string holding the detector vendor ID
Definition: cbf_reader.hpp:71
virtual size_t nimages() const
get number of images
Definition: cbf_reader.hpp:140
virtual image_info info(size_t i) const
get image info
Definition: cbf_reader.hpp:146
size_t npixels() const
get total number of pixels
Definition: image_info.hpp:109
cbf::compression_id _compression_type
compression type
Definition: cbf_reader.hpp:77
virtual ~cbf_reader()
destructor
Definition: cbf_reader.cpp:56
image_channel_info get_channel(size_t i) const
get channel information
Definition: image_info.cpp:127
cbf_reader()
default constructor
Definition: cbf_reader.cpp:40
std::vector< image_info > _image_info
info structure for data
Definition: cbf_reader.hpp:73
void _parse_file()
parse the file
Definition: cbf_reader.cpp:69