27 #ifndef GFITSIMAGE_HPP
28 #define GFITSIMAGE_HPP
49 GFitsImage(
const int& bitpix,
const int& nx,
const int& ny);
50 GFitsImage(
const int& bitpix,
const int& nx,
const int& ny,
const int& nz);
51 GFitsImage(
const int& bitpix,
const int& nx,
const int& ny,
const int& nz,
const int& nt);
60 virtual void clear(
void) = 0;
62 virtual std::string
classname(
void)
const = 0;
63 virtual void*
pixels(
void) = 0;
64 virtual double pixel(
const int& ix)
const = 0;
65 virtual double pixel(
const int& ix,
const int& iy)
const = 0;
66 virtual double pixel(
const int& ix,
const int& iy,
const int& iz)
const = 0;
67 virtual double pixel(
const int& ix,
const int& iy,
const int& iz,
const int& it)
const = 0;
68 virtual int type(
void)
const = 0;
74 const int&
npix(
void)
const;
75 const int&
bitpix(
void)
const;
76 const int&
naxis(
void)
const;
77 int naxes(
const int& axis)
const;
78 const int&
anynul(
void)
const;
79 void nulval(
const void* value);
80 const void*
nulval(
void)
const;
95 const void* nulval,
int* anynul);
96 void save_image(
int datatype,
const void* pixels);
98 int offset(
const int& ix)
const;
99 int offset(
const int& ix,
const int& iy)
const;
100 int offset(
const int& ix,
const int& iy,
const int& iz)
const;
101 int offset(
const int& ix,
const int& iy,
const int& iz,
const int& it)
const;
178 return (const_cast<GFitsImage*>(
this)->
ptr_nulval());
const int & bitpix(void) const
Return number of Bits per pixel (negative=floating point)
Abstract FITS image base class.
int offset(const int &ix) const
Return pixel offset.
const int & naxis(void) const
Return dimension of image.
void open_image(void *vptr)
Open Image.
Abstract FITS extension base class.
void data_close(void)
Close FITS image.
void data_open(void *vptr)
Open FITS image.
virtual void * ptr_nulval(void)=0
virtual void init_data(void)=0
virtual void alloc_nulval(const void *value)=0
virtual void alloc_data(void)=0
int m_num_pixels
Number of image pixels.
void save_image(int datatype, const void *pixels)
Save FITS image.
void data_save(void)
Save FITS image.
virtual void clear(void)=0
Clear object.
Abstract FITS extension base class definition.
void init_image_header(void)
Initialise image header.
long * m_naxes
Number of pixels in each dimension.
virtual void * pixels(void)=0
virtual int type(void) const =0
void data_connect(void *vptr)
Connect FITS image.
const void * nulval(void) const
Return nul value.
virtual double pixel(const int &ix) const =0
GFitsImage(void)
Void constructor.
virtual GFitsImage * clone(void) const =0
Clones object.
virtual void release_data(void)=0
int m_anynul
Number of NULLs encountered.
void fetch_data(void)
Fetch image pixels.
void init_members(void)
Initialise class members.
int m_naxis
Image dimension.
const int & anynul(void) const
Return number of nul values encountered during loading.
int naxes(const int &axis) const
Return dimension of an image axis.
std::string print(const GChatter &chatter=NORMAL) const
Print column information.
virtual ~GFitsImage(void)
Destructor.
const int & npix(void) const
Return size of pixel array.
void copy_members(const GFitsImage &image)
Copy class members.
int m_bitpix
Number of Bits/pixel.
void load_image(int datatype, const void *pixels, const void *nulval, int *anynul)
Load FITS image.
GFitsImage & operator=(const GFitsImage &image)
Assignment operator.
virtual void * ptr_data(void)=0
HDUType exttype(void) const
Return extension type.
void free_members(void)
Delete class members.
virtual std::string classname(void) const =0
Return class name.