54 #ifndef VIGRA_SIFIMPORT_HXX
55 #define VIGRA_SIFIMPORT_HXX
61 #include "multi_array.hxx"
62 #include "array_vector.hxx"
103 VIGRA_EXPORT
int width()
const;
107 VIGRA_EXPORT
int height()
const;
130 VIGRA_EXPORT std::ptrdiff_t
getOffset()
const;
150 VIGRA_EXPORT
friend std::ostream&
operator<<(std::ostream& os,
const SIFImportInfo& info);
153 const char* m_filename;
155 std::ptrdiff_t m_offset;
157 int left, right, bottom, top;
158 int xbin, ybin, xres, yres;
161 double temperature1, temperature2;
163 std::string cycleTime, temperature, exposureTime, EMGain,
164 verticalShiftSpeed, version, model, originalFilename, preAmpGain;
204 template <
unsigned int N,
class T,
class S>
207 vigra_precondition(
false,
"readSIF(): Destination array must be MultiArrayView<3, float>.");
210 inline void readSIF(
const SIFImportInfo &info, MultiArrayView<3, float, UnstridedArrayTag> array)
212 readSIF(info, MultiArrayView<3, float>(array));
229 VIGRA_EXPORT
void readSIFBlock(
const SIFImportInfo &info, Shape3 offset, Shape3 shape, MultiArrayView<3, float> array);
231 template <
unsigned int N,
class T,
class S>
232 void readSIFBlock(
const SIFImportInfo &, Shape3, Shape3, MultiArrayView<N, T, S>)
234 vigra_precondition(
false,
"readSIFBlock(): Destination array must be MultiArrayView<3, float>.");
237 inline void readSIFBlock(
const SIFImportInfo &info, Shape3 offset, Shape3 shape, MultiArrayView<3, float, UnstridedArrayTag> array)
239 readSIFBlock(info, offset, shape, MultiArrayView<3, float>(array));
242 VIGRA_EXPORT std::ostream& operator<<(std::ostream& os,
const SIFImportInfo& info);
248 #endif // VIGRA_SIFIMPORT_HXX
friend std::ostream & operator<<(std::ostream &os, const SIFImportInfo &info)
void readSIFBlock(const SIFImportInfo &info, Shape3 offset, Shape3 shape, MultiArrayView< 3, float > array)
Read parts of the image data from an Andor SIF file specified with an SIFImportInfo object and write ...
void readSIF(const SIFImportInfo &info, MultiArrayView< 3, float > array)
Read the image data specified by the given vigra::SIFImportInfo object and write them into the given ...
SIFImportInfo(const char *filename)
std::ptrdiff_t MultiArrayIndex
Definition: multi_fwd.hxx:60
const char * getFileName() const
std::ptrdiff_t getOffset() const
Extracts image properties from an Andor SIF file header.
Definition: sifImport.hxx:87
MultiArrayIndex numDimensions() const
Base class for, and view to, vigra::MultiArray.
Definition: multi_array.hxx:704
MultiArrayIndex shapeOfDimension(const int dim) const
ArrayVector< size_t > const & shape() const