ddt  0.1
imageIO.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file imageIO.hpp
8 // @brief Image IO function declaration.
9 //
10 // This file is part of the DDT Image Handling Library and
11 // provides functions to load / save CPL images.
12 //
13 // @author Christoph Bortlisz, CGI
14 // @since 2020/07/29
15 //
16 
17 #ifndef IMAGEIO_HPP_
18 #define IMAGEIO_HPP_
19 
20 //#include <algorithm>
21 //#include <cctype>
22 #include <vector>
23 
24 //#include <sys/stat.h>
25 
26 #include <cpl.h>
27 
28 // namespace ddt {
29 
41 cpl_vector* LoadCplVector(const char* file_name,
42  long long extension_number = 0);
43 
51 cpl_image* LoadCplImage(const char* file_name, long long plane_number = 0,
52  long long extension_number = 0);
53 
62 cpl_image* CreateCplImage(int width, int height, uint8_t* image_data);
63 
72 cpl_image* CreateCplImage(int width, int height,
73  std::vector<uint8_t>* image_data);
74 
83 cpl_image* CreateCplImage(int width, int height, int16_t* image_data);
84 
93 cpl_image* CreateCplImage(int width, int height,
94  std::vector<int16_t>* image_data);
95 
104 cpl_image* CreateCplImage(const int width, const int height,
105  int32_t* const image_data);
106 
115 cpl_image* CreateCplImage(int width, int height,
116  std::vector<int32_t>* image_data);
117 
126 cpl_image* CreateCplImage(const int width, const int height,
127  float* const image_data);
128 
137 cpl_image* CreateCplImage(int width, int height,
138  std::vector<float_t>* image_data);
139 
148 cpl_image* CreateCplImage(const int width, const int height,
149  double* const image_data);
150 
159 cpl_image* CreateCplImage(int width, int height,
160  std::vector<double_t>* image_data);
161 
171 cpl_image* CreateCplImage(const int width, const int height,
172  uint16_t* const image_data);
173 
183 cpl_image* CreateCplImage(const int width, const int height,
184  std::vector<uint16_t>* const image_data);
185 
195 cpl_image* CreateCplImage(const int width, const int height,
196  uint32_t* const image_data);
197 
207 cpl_image* CreateCplImage(const int width, const int height,
208  std::vector<uint32_t>* const image_data);
209 
217 bool SaveCplImage(const cpl_image* image, const char* file_name,
218  cpl_propertylist* property_list = nullptr);
219 
225 void DeleteCplImage(cpl_image* image);
226 
232 void UnwrapCplImage(cpl_image* image);
233 
238 void DeleteCplPropertyList(cpl_propertylist* const propertylist);
239 
245 cpl_type GetCplImageType(const cpl_image* image);
246 
252 int GetCplImageExtensions(const char* file_name);
253 
260 cpl_propertylist* GetCplImagePropertyList(const char* file_name, int position);
261 
273 int GetCplImagePlanCount(const cpl_propertylist* propertylist);
274 
280 cpl_wcs* GetCplWcs(const cpl_propertylist* propertylist);
281 
290 int GetCplImageBitPix(const cpl_propertylist* const propertylist);
291 
292 //} // namespace ddt
293 
294 #endif /* IMAGEIO_HPP_ */
LoadCplVector
cpl_vector * LoadCplVector(const char *file_name, long long extension_number=0)
Definition: imageIO.cpp:34
SaveCplImage
bool SaveCplImage(const cpl_image *image, const char *file_name, cpl_propertylist *property_list=nullptr)
Definition: imageIO.cpp:337
UnwrapCplImage
void UnwrapCplImage(cpl_image *image)
Definition: imageIO.cpp:379
CreateCplImage
cpl_image * CreateCplImage(int width, int height, uint8_t *image_data)
Definition: imageIO.cpp:61
DeleteCplImage
void DeleteCplImage(cpl_image *image)
Definition: imageIO.cpp:354
GetCplImageBitPix
int GetCplImageBitPix(const cpl_propertylist *const propertylist)
Definition: imageIO.cpp:466
GetCplWcs
cpl_wcs * GetCplWcs(const cpl_propertylist *propertylist)
Definition: imageIO.cpp:454
GetCplImageExtensions
int GetCplImageExtensions(const char *file_name)
Definition: imageIO.cpp:403
LoadCplImage
cpl_image * LoadCplImage(const char *file_name, long long plane_number=0, long long extension_number=0)
Definition: imageIO.cpp:46
DeleteCplPropertyList
void DeleteCplPropertyList(cpl_propertylist *const propertylist)
Definition: imageIO.cpp:385
GetCplImagePropertyList
cpl_propertylist * GetCplImagePropertyList(const char *file_name, int position)
Definition: imageIO.cpp:413
GetCplImageType
cpl_type GetCplImageType(const cpl_image *image)
Definition: imageIO.cpp:394
GetCplImagePlanCount
int GetCplImagePlanCount(const cpl_propertylist *propertylist)
Definition: imageIO.cpp:428