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;
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