lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
include
lsst
afw
image
ImageBaseFitsReader.h
Go to the documentation of this file.
1
/*
2
* Developed for the LSST Data Management System.
3
* This product includes software developed by the LSST Project
4
* (https://www.lsst.org).
5
* See the COPYRIGHT file at the top-level directory of this distribution
6
* for details of code ownership.
7
*
8
* This program is free software: you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License as published by
10
* the Free Software Foundation, either version 3 of the License, or
11
* (at your option) any later version.
12
*
13
* This program is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU General Public License for more details.
17
*
18
* You should have received a copy of the GNU General Public License
19
* along with this program. If not, see <https://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef LSST_AFW_IMAGE_IMAGEBASEFITSREADER_H
23
#define LSST_AFW_IMAGE_IMAGEBASEFITSREADER_H
24
25
#include <string>
26
#include <memory>
27
28
#include "
lsst/geom/Box.h
"
29
#include "
lsst/daf/base/PropertyList.h
"
30
#include "
lsst/afw/fits.h
"
31
32
namespace
lsst
{
namespace
afw
{
namespace
image
{
33
47
class
ImageBaseFitsReader
{
48
public
:
49
57
explicit
ImageBaseFitsReader
(
std::string
const
& fileName,
int
hdu=
fits::DEFAULT_HDU
);
58
66
explicit
ImageBaseFitsReader
(
fits::MemFileManager
& manager,
int
hdu=
fits::DEFAULT_HDU
);
67
74
explicit
ImageBaseFitsReader
(
fits::Fits
* fitsFile);
75
76
// FITS readers are not copyable, movable, or assignable.
77
ImageBaseFitsReader
(
ImageBaseFitsReader
const
&) =
delete
;
78
ImageBaseFitsReader
(
ImageBaseFitsReader
&&) =
delete
;
79
ImageBaseFitsReader
&
operator=
(
ImageBaseFitsReader
const
&) =
delete
;
80
ImageBaseFitsReader
&
operator=
(
ImageBaseFitsReader
&&) =
delete
;
81
88
std::string
readDType
()
const
;
89
97
lsst::geom::Box2I
readBBox
(
ImageOrigin
origin=
PARENT
);
98
107
lsst::geom::Point2I
readXY0
(
108
lsst::geom::Box2I
const
& bbox=
lsst::geom::Box2I
(),
109
ImageOrigin
origin=
PARENT
110
);
111
115
std::shared_ptr<daf::base::PropertyList>
readMetadata
();
116
126
template
<
typename
T>
127
ndarray::Array<T, 2, 2>
readArray
(
128
lsst::geom::Box2I
const
& bbox,
129
ImageOrigin
origin=
PARENT
,
130
bool
allowUnsafe=
false
131
);
132
136
int
getHdu
() const noexcept {
return
_hdu; }
137
141
std::string
getFileName
()
const
{
return
_fitsFile->getFileName(); }
142
143
protected
:
144
145
// This class should never be directly instantiated, and should never
146
// be deleted through a base-class pointer.
147
~ImageBaseFitsReader
() noexcept;
148
149
private:
150
151
friend class
MaskedImageFitsReader
;
152
153
bool
_ownsFitsFile;
154
int
_hdu;
155
fits
::Fits * _fitsFile;
156
lsst
::
geom
::
Box2I
_bbox;
157
std
::shared_ptr<
daf
::
base
::PropertyList> _metadata;
158
};
159
160
}}}
// namespace lsst::afw::image
161
162
#endif
// !LSST_AFW_IMAGE_IMAGEBASEFITSREADER_H
Box.h
PropertyList.h
std::string
lsst::afw::fits::Fits
A simple struct that combines the two arguments that must be passed to most cfitsio routines and cont...
Definition
fits.h:242
lsst::afw::fits::MemFileManager
Lifetime-management for memory that goes into FITS memory files.
Definition
fits.h:126
lsst::afw::image::ImageBaseFitsReader::ImageBaseFitsReader
ImageBaseFitsReader(ImageBaseFitsReader &&)=delete
lsst::afw::image::ImageBaseFitsReader::operator=
ImageBaseFitsReader & operator=(ImageBaseFitsReader const &)=delete
lsst::afw::image::ImageBaseFitsReader::readXY0
lsst::geom::Point2I readXY0(lsst::geom::Box2I const &bbox=lsst::geom::Box2I(), ImageOrigin origin=PARENT)
Read the image origin from the on-disk image or a subimage thereof.
Definition
ImageBaseFitsReader.cc:94
lsst::afw::image::ImageBaseFitsReader::readMetadata
std::shared_ptr< daf::base::PropertyList > readMetadata()
Read the image's FITS header.
Definition
ImageBaseFitsReader.cc:105
lsst::afw::image::ImageBaseFitsReader::operator=
ImageBaseFitsReader & operator=(ImageBaseFitsReader &&)=delete
lsst::afw::image::ImageBaseFitsReader::readArray
ndarray::Array< T, 2, 2 > readArray(lsst::geom::Box2I const &bbox, ImageOrigin origin=PARENT, bool allowUnsafe=false)
Read the image's data array.
Definition
ImageBaseFitsReader.cc:171
lsst::afw::image::ImageBaseFitsReader::getFileName
std::string getFileName() const
Return the name of the file this reader targets.
Definition
ImageBaseFitsReader.h:141
lsst::afw::image::ImageBaseFitsReader::getHdu
int getHdu() const noexcept
Return the HDU this reader targets.
Definition
ImageBaseFitsReader.h:136
lsst::afw::image::ImageBaseFitsReader::readBBox
lsst::geom::Box2I readBBox(ImageOrigin origin=PARENT)
Read the bounding box of the on-disk image.
Definition
ImageBaseFitsReader.cc:86
lsst::afw::image::ImageBaseFitsReader::MaskedImageFitsReader
friend class MaskedImageFitsReader
Definition
ImageBaseFitsReader.h:151
lsst::afw::image::ImageBaseFitsReader::~ImageBaseFitsReader
~ImageBaseFitsReader() noexcept
Definition
ImageBaseFitsReader.cc:61
lsst::afw::image::ImageBaseFitsReader::readDType
std::string readDType() const
Read a string describing the pixel type of the on-disk image.
Definition
ImageBaseFitsReader.cc:80
lsst::afw::image::ImageBaseFitsReader::ImageBaseFitsReader
ImageBaseFitsReader(std::string const &fileName, int hdu=fits::DEFAULT_HDU)
Construct a FITS reader object.
Definition
ImageBaseFitsReader.cc:27
lsst::afw::image::ImageBaseFitsReader::ImageBaseFitsReader
ImageBaseFitsReader(ImageBaseFitsReader const &)=delete
lsst::geom::Box2I
fits.h
lsst::afw::fits
Definition
fits.h:32
lsst::afw::fits::DEFAULT_HDU
const int DEFAULT_HDU
Specify that the default HDU should be read.
Definition
fitsDefaults.h:18
lsst::afw::geom
Definition
frameSetUtils.h:40
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst::afw::image::ImageOrigin
ImageOrigin
Definition
ImageBase.h:94
lsst::afw::image::PARENT
@ PARENT
Definition
ImageBase.h:94
lsst::afw
Definition
imageAlgorithm.dox:1
lsst::base
lsst::daf
lsst::geom::Point2I
Point< int, 2 > Point2I
lsst
std
STL namespace.
std::shared_ptr
Generated on
for lsst.afw by
1.17.0