9#ifndef ODP_IMAGE_CUBE_HPP
10#define ODP_IMAGE_CUBE_HPP
14#error This is a C++ include file and cannot be used from plain C
21#include "cpl_imagelist.h"
85 inline constexpr cpl_size
GetSize()
const;
131 virtual void Save(
const std::string filename,
132 cpl_type_bpp type_bpp=CPL_BPP_IEEE_FLOAT,
133 unsigned mode = CPL_IO_DEFAULT);
145 virtual void Load(
const std::string filename,
146 const cpl_size extension=0,
147 cpl_type type=CPL_TYPE_FLOAT);
164 virtual void Load(
const std::string filename,
169 const cpl_size extension=0,
170 cpl_type type=CPL_TYPE_FLOAT);
194 void*
Get(
const cpl_size pos);
210 void Get(
const cpl_size pos,
Image *img);
230 void Set(
const Image *img,
const cpl_size pos);
267 void Remove(
const cpl_size pos);
305#include "imageCube.ipp"
This class handle the errors produced by the calling of image processing routines.
Definition error.hpp:35
This class is C++ wrapper for a CPL image list object. It provides a simplified interface that allows...
Definition imageCube.hpp:48
virtual ~ImageCube()
Class destructor.
Definition imageCube.cpp:43
virtual void Save(const std::string filename, cpl_type_bpp type_bpp=CPL_BPP_IEEE_FLOAT, unsigned mode=CPL_IO_DEFAULT)
Save CPL image list into a FITS file (cube).
Definition imageCube.cpp:56
cpl_imagelist * GetCplImageList() const
Get CPL image list.
void SetCplImageList(cpl_imagelist *imageList)
Set CPL image list.
void * Get(const cpl_size pos)
Get an image from the image list at a given position.
Definition imageCube.cpp:116
cpl_imagelist * m_cpl_imageList
Definition imageCube.hpp:299
bool IsUniform() const
Determine if an image list, eg. FITS cube is uniform.
Definition imageCube.cpp:203
cpl_type m_cpl_type
Definition imageCube.hpp:298
void Pop()
Remove the last image from the list.
Definition imageCube.cpp:199
constexpr bool IsImageList() const
Check is CPL image list is valid.
ImageCube()
Class constructor.
Definition imageCube.cpp:26
virtual void Unload()
Release CPL image list.
Definition imageCube.cpp:49
virtual void Load(const std::string filename, const cpl_size extension=0, cpl_type type=CPL_TYPE_FLOAT)
Load CPL image from a FITS file.
Definition imageCube.cpp:73
void Set(const Image *img, const cpl_size pos)
Insert an image into the image list at a given position.
Definition imageCube.cpp:148
void Remove(const cpl_size pos)
Remove an image from the list at specified location.
Definition imageCube.cpp:192
void Retrieve(const cpl_size pos, Image *img)
Get an image from the list at specified location.
Definition imageCube.cpp:175
void Push(Image *img)
Insert an image into the image list at the end position.
Definition imageCube.cpp:170
constexpr cpl_size GetSize() const
Get image list size.
bool Status() const
Get image status.
This class is C++ wrapper for a CPL image object. It provides a simplified interface that allows to c...
Definition image.hpp:44