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