MeshLib C Docs
Loading...
Searching...
No Matches
MRTiffIO.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRVector2.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
15typedef struct MR_expected_MR_TiffParameters_std_string MR_expected_MR_TiffParameters_std_string; // Defined in `#include <MRCMisc/expected_MR_TiffParameters_std_string.h>`.
16typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_std_string.h>`.
17typedef struct MR_std_string MR_std_string; // Defined in `#include <MRCMisc/std_string.h>`.
18
19
27
35
42
49
53
57
62
68
73
78
84
89
90// size of internal data in file
95
96// size of internal data in file
101
102// size of internal data in file
107
108// size of image if not layered, otherwise size of layer
113
114// size of image if not layered, otherwise size of layer
120
121// size of image if not layered, otherwise size of layer
126
130
135
143
147
151
156
160
166
169
172
180
185
186// true if tif file is tiled
191
192// true if tif file is tiled
197
198// true if tif file is tiled
203
208
214
219
224
229
234
235// tile depth (if several layers)
240
241// tile depth (if several layers)
246
247// tile depth (if several layers)
252
257
263
268
273
279
284
285// size of internal data in file
290
291// size of internal data in file
296
297// size of internal data in file
302
303// size of image if not layered, otherwise size of layer
308
309// size of image if not layered, otherwise size of layer
315
316// size of image if not layered, otherwise size of layer
321
325
330
334
338
342
345
351
354
357
365
370
371// returns true if given file is tiff
374MRC_API bool MR_isTIFFFile(const char *path, const char *path_end);
375
376// reads parameters of tiff file
381
382// main output data, should be allocated
386MRC_API unsigned char *const *MR_RawTiffOutput_Get_bytes(const MR_RawTiffOutput *_this);
387
388// main output data, should be allocated
393MRC_API void MR_RawTiffOutput_Set_bytes(MR_RawTiffOutput *_this, unsigned char *value);
394
395// main output data, should be allocated
400
401// allocated data size
406
407// allocated data size
413
414// allocated data size
419
420// optional params output
425
426// optional params output
432
433// optional params output
438
439// optional pixel to world transform
444
445// optional pixel to world transform
451
452// optional pixel to world transform
457
458// input if true loads tiff file as floats array
463
464// input if true loads tiff file as floats array
469
470// input if true loads tiff file as floats array
475
476// min max
481
482// min max
488
489// min max
494
499
505
510
514
519
529MRC_API MR_RawTiffOutput *MR_RawTiffOutput_ConstructFrom(unsigned char *bytes, MR_uint64_t size, MR_TiffParameters *params, MR_AffineXf3f *p2wXf, bool convertToFloat, float *min, float *max);
530
534
538
544
547
550
558
559// load values from tiff to ouput.data
564MRC_API MR_expected_void_std_string *MR_readRawTiff(const char *path, const char *path_end, MR_RawTiffOutput *output);
565
570
577
582
583// optional transformation data written to GeoTIFF's ModelTransformationTag
588
589// optional transformation data written to GeoTIFF's ModelTransformationTag
595
596// optional transformation data written to GeoTIFF's ModelTransformationTag
601
602// optional NoData value written to GDAL_NODATA
607
608// optional NoData value written to GDAL_NODATA
615MRC_API void MR_WriteRawTiffParams_Set_noData(MR_WriteRawTiffParams *_this, const char *value, const char *value_end);
616
617// optional NoData value written to GDAL_NODATA
622
626
631
641MRC_API MR_WriteRawTiffParams *MR_WriteRawTiffParams_ConstructFrom(const MR_BaseTiffParameters *baseParams, const MR_AffineXf3f *xf, const char *noData, const char *noData_end);
642
646
650
655
658
661
668
669// writes bytes to tiff file
674MRC_API MR_expected_void_std_string *MR_writeRawTiff_3(const unsigned char *bytes, const char *path, const char *path_end, const MR_WriteRawTiffParams *params);
675
680MRC_DEPRECATED_REASON("use WriteRawTiffParams version instead")
681MRC_API MR_expected_void_std_string *MR_writeRawTiff_4(const unsigned char *bytes, const char *path, const char *path_end, const MR_BaseTiffParameters *params, const MR_AffineXf3f *xf);
682
683#ifdef __cplusplus
684} // extern "C"
685#endif
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:26
struct MR_std_string MR_std_string
Definition MRCtm.h:32
MRC_API MR_TiffParameters * MR_TiffParameters_AssignFromAnother(MR_TiffParameters *_this, const MR_TiffParameters *_other)
MRC_API void MR_RawTiffOutput_Set_bytes(MR_RawTiffOutput *_this, unsigned char *value)
MRC_API void MR_RawTiffOutput_Set_params(MR_RawTiffOutput *_this, MR_TiffParameters *value)
MRC_API void MR_BaseTiffParameters_Set_bytesPerSample(MR_BaseTiffParameters *_this, int value)
MRC_API MR_RawTiffOutput * MR_RawTiffOutput_ConstructFrom(unsigned char *bytes, MR_uint64_t size, MR_TiffParameters *params, MR_AffineXf3f *p2wXf, bool convertToFloat, float *min, float *max)
MRC_API void MR_RawTiffOutput_Set_p2wXf(MR_RawTiffOutput *_this, MR_AffineXf3f *value)
MRC_API float ** MR_RawTiffOutput_GetMutable_min(MR_RawTiffOutput *_this)
MRC_API MR_BaseTiffParameters * MR_BaseTiffParameters_ConstructFrom(MR_BaseTiffParameters_SampleType sampleType, MR_BaseTiffParameters_ValueType valueType, int bytesPerSample, MR_Vector2i imageSize)
MRC_API bool MR_isTIFFFile(const char *path, const char *path_end)
MRC_API void MR_WriteRawTiffParams_Set_xf(MR_WriteRawTiffParams *_this, const MR_AffineXf3f *value)
MRC_API bool MR_equal_MR_TiffParameters(const MR_TiffParameters *_this, const MR_TiffParameters *_1)
MRC_API MR_TiffParameters * MR_TiffParameters_DefaultConstructArray(size_t num_elems)
MRC_API const MR_WriteRawTiffParams * MR_WriteRawTiffParams_OffsetPtr(const MR_WriteRawTiffParams *ptr, ptrdiff_t i)
MRC_API const MR_Vector2i * MR_TiffParameters_Get_imageSize(const MR_TiffParameters *_this)
MRC_API const bool * MR_TiffParameters_Get_tiled(const MR_TiffParameters *_this)
MRC_API MR_Vector2i * MR_TiffParameters_GetMutable_imageSize(MR_TiffParameters *_this)
MRC_API MR_expected_MR_TiffParameters_std_string * MR_readTiffParameters(const char *path, const char *path_end)
MRC_API void MR_BaseTiffParameters_Set_valueType(MR_BaseTiffParameters *_this, MR_BaseTiffParameters_ValueType value)
struct MR_WriteRawTiffParams MR_WriteRawTiffParams
Definition MRTiffIO.h:56
MRC_API void MR_TiffParameters_Set_imageSize(MR_TiffParameters *_this, MR_Vector2i value)
MRC_API MR_uint64_t * MR_RawTiffOutput_GetMutable_size(MR_RawTiffOutput *_this)
MRC_API MR_expected_void_std_string * MR_writeRawTiff_3(const unsigned char *bytes, const char *path, const char *path_end, const MR_WriteRawTiffParams *params)
MRC_API const bool * MR_RawTiffOutput_Get_convertToFloat(const MR_RawTiffOutput *_this)
MRC_API const int * MR_TiffParameters_Get_depth(const MR_TiffParameters *_this)
MRC_API MR_std_string * MR_WriteRawTiffParams_GetMutable_noData(MR_WriteRawTiffParams *_this)
MRC_API void MR_WriteRawTiffParams_Set_noData(MR_WriteRawTiffParams *_this, const char *value, const char *value_end)
MRC_API MR_WriteRawTiffParams * MR_WriteRawTiffParams_DefaultConstruct(void)
MRC_API void MR_RawTiffOutput_Set_convertToFloat(MR_RawTiffOutput *_this, bool value)
MRC_API int * MR_BaseTiffParameters_GetMutable_bytesPerSample(MR_BaseTiffParameters *_this)
MRC_API const int * MR_TiffParameters_Get_layers(const MR_TiffParameters *_this)
MRC_API const int * MR_TiffParameters_Get_bytesPerSample(const MR_TiffParameters *_this)
MRC_API unsigned char *const * MR_RawTiffOutput_Get_bytes(const MR_RawTiffOutput *_this)
MRC_API MR_TiffParameters * MR_TiffParameters_DefaultConstruct(void)
MRC_API void MR_TiffParameters_Set_valueType(MR_TiffParameters *_this, MR_BaseTiffParameters_ValueType value)
MRC_API const MR_TiffParameters * MR_TiffParameters_OffsetPtr(const MR_TiffParameters *ptr, ptrdiff_t i)
MRC_API const MR_AffineXf3f *const * MR_WriteRawTiffParams_Get_xf(const MR_WriteRawTiffParams *_this)
MRC_API void MR_RawTiffOutput_Set_min(MR_RawTiffOutput *_this, float *value)
MRC_API MR_BaseTiffParameters * MR_TiffParameters_MutableUpcastTo_MR_BaseTiffParameters(MR_TiffParameters *object)
Upcasts an instance of MR::TiffParameters to its base class MR::BaseTiffParameters.
MRC_API const MR_uint64_t * MR_RawTiffOutput_Get_size(const MR_RawTiffOutput *_this)
MRC_API void MR_RawTiffOutput_Set_size(MR_RawTiffOutput *_this, MR_uint64_t value)
MRC_API void MR_RawTiffOutput_Destroy(const MR_RawTiffOutput *_this)
Destroys a heap-allocated instance of MR_RawTiffOutput. Does nothing if the pointer is null.
MRC_API bool * MR_TiffParameters_GetMutable_tiled(MR_TiffParameters *_this)
MRC_API MR_BaseTiffParameters_ValueType * MR_TiffParameters_GetMutable_valueType(MR_TiffParameters *_this)
MRC_API MR_RawTiffOutput * MR_RawTiffOutput_ConstructFromAnother(const MR_RawTiffOutput *_other)
MRC_API MR_BaseTiffParameters * MR_WriteRawTiffParams_GetMutable_baseParams(MR_WriteRawTiffParams *_this)
MRC_API const MR_RawTiffOutput * MR_RawTiffOutput_OffsetPtr(const MR_RawTiffOutput *ptr, ptrdiff_t i)
MRC_API MR_WriteRawTiffParams * MR_WriteRawTiffParams_DefaultConstructArray(size_t num_elems)
MRC_API float *const * MR_RawTiffOutput_Get_min(const MR_RawTiffOutput *_this)
MRC_API const MR_BaseTiffParameters_SampleType * MR_BaseTiffParameters_Get_sampleType(const MR_BaseTiffParameters *_this)
MRC_API const MR_Vector2i * MR_TiffParameters_Get_tileSize(const MR_TiffParameters *_this)
MRC_API MR_expected_void_std_string * MR_readRawTiff(const char *path, const char *path_end, MR_RawTiffOutput *output)
MRC_API const MR_BaseTiffParameters * MR_TiffParameters_UpcastTo_MR_BaseTiffParameters(const MR_TiffParameters *object)
MRC_API MR_BaseTiffParameters * MR_BaseTiffParameters_DefaultConstruct(void)
struct MR_TiffParameters MR_TiffParameters
Definition MRTiffIO.h:48
MRC_API void MR_TiffParameters_Set_layers(MR_TiffParameters *_this, int value)
MRC_API const MR_std_string * MR_WriteRawTiffParams_Get_noData(const MR_WriteRawTiffParams *_this)
MRC_API MR_BaseTiffParameters_SampleType * MR_BaseTiffParameters_GetMutable_sampleType(MR_BaseTiffParameters *_this)
MRC_API MR_RawTiffOutput * MR_RawTiffOutput_AssignFromAnother(MR_RawTiffOutput *_this, const MR_RawTiffOutput *_other)
MRC_API MR_TiffParameters * MR_TiffParameters_ConstructFromAnother(const MR_TiffParameters *_other)
struct MR_RawTiffOutput MR_RawTiffOutput
Definition MRTiffIO.h:52
MRC_API void MR_WriteRawTiffParams_DestroyArray(const MR_WriteRawTiffParams *_this)
Destroys a heap-allocated array of MR_WriteRawTiffParams. Does nothing if the pointer is null.
MRC_API void MR_TiffParameters_Destroy(const MR_TiffParameters *_this)
Destroys a heap-allocated instance of MR_TiffParameters. Does nothing if the pointer is null.
MRC_API void MR_WriteRawTiffParams_Set_baseParams(MR_WriteRawTiffParams *_this, const MR_BaseTiffParameters *value)
MRC_API const MR_Vector2i * MR_BaseTiffParameters_Get_imageSize(const MR_BaseTiffParameters *_this)
MRC_API MR_BaseTiffParameters * MR_BaseTiffParameters_OffsetMutablePtr(MR_BaseTiffParameters *ptr, ptrdiff_t i)
MRC_API void MR_WriteRawTiffParams_Destroy(const MR_WriteRawTiffParams *_this)
Destroys a heap-allocated instance of MR_WriteRawTiffParams. Does nothing if the pointer is null.
MRC_API void MR_TiffParameters_Set_depth(MR_TiffParameters *_this, int value)
MRC_API MR_BaseTiffParameters * MR_BaseTiffParameters_ConstructFromAnother(const MR_BaseTiffParameters *_other)
MRC_API float ** MR_RawTiffOutput_GetMutable_max(MR_RawTiffOutput *_this)
struct MR_BaseTiffParameters MR_BaseTiffParameters
Definition MRTiffIO.h:41
MRC_API const int * MR_BaseTiffParameters_Get_bytesPerSample(const MR_BaseTiffParameters *_this)
MRC_API void MR_BaseTiffParameters_DestroyArray(const MR_BaseTiffParameters *_this)
Destroys a heap-allocated array of MR_BaseTiffParameters. Does nothing if the pointer is null.
MRC_API int * MR_TiffParameters_GetMutable_bytesPerSample(MR_TiffParameters *_this)
MRC_API const MR_BaseTiffParameters * MR_BaseTiffParameters_OffsetPtr(const MR_BaseTiffParameters *ptr, ptrdiff_t i)
MRC_API unsigned char ** MR_RawTiffOutput_GetMutable_bytes(MR_RawTiffOutput *_this)
MRC_API bool MR_equal_MR_BaseTiffParameters(const MR_BaseTiffParameters *_this, const MR_BaseTiffParameters *_1)
MRC_API MR_expected_void_std_string * MR_writeRawTiff_4(const unsigned char *bytes, const char *path, const char *path_end, const MR_BaseTiffParameters *params, const MR_AffineXf3f *xf)
MRC_API MR_WriteRawTiffParams * MR_WriteRawTiffParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_WriteRawTiffParams *_other)
MRC_API MR_AffineXf3f *const * MR_RawTiffOutput_Get_p2wXf(const MR_RawTiffOutput *_this)
MRC_API MR_WriteRawTiffParams * MR_WriteRawTiffParams_OffsetMutablePtr(MR_WriteRawTiffParams *ptr, ptrdiff_t i)
MRC_API MR_TiffParameters * MR_BaseTiffParameters_MutableStaticDowncastTo_MR_TiffParameters(MR_BaseTiffParameters *object)
MRC_API MR_BaseTiffParameters_ValueType * MR_BaseTiffParameters_GetMutable_valueType(MR_BaseTiffParameters *_this)
MRC_API void MR_TiffParameters_DestroyArray(const MR_TiffParameters *_this)
Destroys a heap-allocated array of MR_TiffParameters. Does nothing if the pointer is null.
MRC_API float *const * MR_RawTiffOutput_Get_max(const MR_RawTiffOutput *_this)
MRC_API const MR_AffineXf3f ** MR_WriteRawTiffParams_GetMutable_xf(MR_WriteRawTiffParams *_this)
MRC_API MR_WriteRawTiffParams * MR_WriteRawTiffParams_AssignFromAnother(MR_WriteRawTiffParams *_this, MR_PassBy _other_pass_by, MR_WriteRawTiffParams *_other)
MRC_API MR_BaseTiffParameters_SampleType * MR_TiffParameters_GetMutable_sampleType(MR_TiffParameters *_this)
MRC_API const MR_TiffParameters * MR_BaseTiffParameters_StaticDowncastTo_MR_TiffParameters(const MR_BaseTiffParameters *object)
MRC_API void MR_RawTiffOutput_Set_max(MR_RawTiffOutput *_this, float *value)
MRC_API void MR_RawTiffOutput_DestroyArray(const MR_RawTiffOutput *_this)
Destroys a heap-allocated array of MR_RawTiffOutput. Does nothing if the pointer is null.
MRC_API MR_Vector2i * MR_BaseTiffParameters_GetMutable_imageSize(MR_BaseTiffParameters *_this)
MRC_API MR_TiffParameters *const * MR_RawTiffOutput_Get_params(const MR_RawTiffOutput *_this)
MRC_API const MR_BaseTiffParameters * MR_WriteRawTiffParams_Get_baseParams(const MR_WriteRawTiffParams *_this)
MRC_API void MR_TiffParameters_Set_tileSize(MR_TiffParameters *_this, MR_Vector2i value)
MRC_API MR_AffineXf3f ** MR_RawTiffOutput_GetMutable_p2wXf(MR_RawTiffOutput *_this)
MRC_API MR_BaseTiffParameters * MR_BaseTiffParameters_DefaultConstructArray(size_t num_elems)
MRC_API void MR_TiffParameters_Set_bytesPerSample(MR_TiffParameters *_this, int value)
MRC_API MR_TiffParameters ** MR_RawTiffOutput_GetMutable_params(MR_RawTiffOutput *_this)
MRC_API MR_RawTiffOutput * MR_RawTiffOutput_DefaultConstruct(void)
MRC_API MR_TiffParameters * MR_TiffParameters_OffsetMutablePtr(MR_TiffParameters *ptr, ptrdiff_t i)
MRC_API void MR_BaseTiffParameters_Set_sampleType(MR_BaseTiffParameters *_this, MR_BaseTiffParameters_SampleType value)
MRC_API void MR_TiffParameters_Set_sampleType(MR_TiffParameters *_this, MR_BaseTiffParameters_SampleType value)
MRC_API MR_RawTiffOutput * MR_RawTiffOutput_OffsetMutablePtr(MR_RawTiffOutput *ptr, ptrdiff_t i)
MRC_API MR_Vector2i * MR_TiffParameters_GetMutable_tileSize(MR_TiffParameters *_this)
MRC_API MR_WriteRawTiffParams * MR_WriteRawTiffParams_ConstructFrom(const MR_BaseTiffParameters *baseParams, const MR_AffineXf3f *xf, const char *noData, const char *noData_end)
MRC_API void MR_BaseTiffParameters_Destroy(const MR_BaseTiffParameters *_this)
Destroys a heap-allocated instance of MR_BaseTiffParameters. Does nothing if the pointer is null.
MRC_API MR_BaseTiffParameters * MR_BaseTiffParameters_AssignFromAnother(MR_BaseTiffParameters *_this, const MR_BaseTiffParameters *_other)
MR_BaseTiffParameters_ValueType
Definition MRTiffIO.h:29
@ MR_BaseTiffParameters_ValueType_RGBA
Definition MRTiffIO.h:33
@ MR_BaseTiffParameters_ValueType_Unknown
Definition MRTiffIO.h:30
@ MR_BaseTiffParameters_ValueType_Scalar
Definition MRTiffIO.h:31
@ MR_BaseTiffParameters_ValueType_RGB
Definition MRTiffIO.h:32
MRC_API MR_RawTiffOutput * MR_RawTiffOutput_DefaultConstructArray(size_t num_elems)
MRC_API void MR_BaseTiffParameters_Set_imageSize(MR_BaseTiffParameters *_this, MR_Vector2i value)
MRC_API int * MR_TiffParameters_GetMutable_depth(MR_TiffParameters *_this)
MRC_API const MR_BaseTiffParameters_ValueType * MR_BaseTiffParameters_Get_valueType(const MR_BaseTiffParameters *_this)
MR_BaseTiffParameters_SampleType
Definition MRTiffIO.h:21
@ MR_BaseTiffParameters_SampleType_Uint
Definition MRTiffIO.h:23
@ MR_BaseTiffParameters_SampleType_Float
Definition MRTiffIO.h:25
@ MR_BaseTiffParameters_SampleType_Unknown
Definition MRTiffIO.h:22
@ MR_BaseTiffParameters_SampleType_Int
Definition MRTiffIO.h:24
MRC_API int * MR_TiffParameters_GetMutable_layers(MR_TiffParameters *_this)
MRC_API void MR_TiffParameters_Set_tiled(MR_TiffParameters *_this, bool value)
MRC_API bool * MR_RawTiffOutput_GetMutable_convertToFloat(MR_RawTiffOutput *_this)
struct MR_expected_MR_TiffParameters_std_string MR_expected_MR_TiffParameters_std_string
Definition MRTiffIO.h:15
MRC_API const MR_BaseTiffParameters_ValueType * MR_TiffParameters_Get_valueType(const MR_TiffParameters *_this)
MRC_API const MR_BaseTiffParameters_SampleType * MR_TiffParameters_Get_sampleType(const MR_TiffParameters *_this)
#define MRC_DEPRECATED_REASON(str)
Definition common.h:83
MR_PassBy
Definition common.h:23
uint64_t MR_uint64_t
Definition common.h:18
#define MRC_API
Definition exports.h:11
size_t size() const
Definition MRAffineXf.h:39
Definition MRVector2.h:29