lsst.afw
g3a5ebb7d8a+28b83bf6a5
Toggle main menu visibility
Loading...
Searching...
No Matches
src
image
MaskFitsReader.cc
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
#include "
lsst/afw/image/MaskFitsReader.h
"
23
#include "
lsst/afw/image/detail/MaskDict.h
"
24
25
namespace
lsst
{
namespace
afw
{
namespace
image
{
26
27
template
<
typename
PixelT>
28
Mask<PixelT>
MaskFitsReader::read
(
lsst::geom::Box2I
const
& bbox,
ImageOrigin
origin,
bool
conformMasks,
29
bool
allowUnsafe) {
30
Mask<PixelT>
result(
readArray<PixelT>
(bbox, origin, allowUnsafe),
false
,
readXY0
(bbox, origin));
31
auto
metadata =
readMetadata
();
32
// look for mask planes in the file
33
detail::MaskPlaneDict
fileMaskDict =
Mask<PixelT>::parseMaskPlaneMetadata
(metadata);
34
std::shared_ptr<detail::MaskDict>
fileMD =
detail::MaskDict::copyOrGetDefault
(fileMaskDict);
35
if
(*fileMD == *
detail::MaskDict::getDefault
()) {
// file is already consistent with Mask
36
return
result;
37
}
38
if
(conformMasks) {
// adopt the definitions in the file
39
detail::MaskDict::setDefault
(fileMD);
40
result._maskDict = fileMD;
41
}
42
result.
conformMaskPlanes
(fileMaskDict);
// convert planes defined by fileMaskDict to the order
43
// defined by Mask::_maskPlaneDict
44
return
result;
45
}
46
47
#define INSTANTIATE(T) \
48
template Mask<T> MaskFitsReader::read(lsst::geom::Box2I const &, ImageOrigin, bool, bool)
49
50
INSTANTIATE
(
MaskPixel
);
51
52
}}}
// lsst::afw::image
INSTANTIATE
#define INSTANTIATE(FROMSYS, TOSYS)
Definition
Detector.cc:509
MaskDict.h
MaskFitsReader.h
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::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::MaskFitsReader::read
Mask< PixelT > read(lsst::geom::Box2I const &bbox=lsst::geom::Box2I(), ImageOrigin origin=PARENT, bool conformMasks=false, bool allowUnsafe=false)
Read the Mask.
Definition
MaskFitsReader.cc:28
lsst::afw::image::Mask
Represent a 2-dimensional array of bitmask pixels.
Definition
Mask.h:82
lsst::afw::image::Mask::conformMaskPlanes
void conformMaskPlanes(const MaskPlaneDict &masterPlaneDict)
Adjust this mask to conform to the standard Mask class's mask plane dictionary, adding any new mask p...
Definition
Mask.cc:405
lsst::afw::image::Mask::parseMaskPlaneMetadata
static MaskPlaneDict parseMaskPlaneMetadata(std::shared_ptr< lsst::daf::base::PropertySet const > metadata)
Given a PropertySet that contains the MaskPlane assignments, setup the MaskPlanes.
Definition
Mask.cc:601
lsst::afw::image::detail::MaskDict::getDefault
static std::shared_ptr< MaskDict > getDefault()
Definition
MaskDict.cc:112
lsst::afw::image::detail::MaskDict::setDefault
static void setDefault(std::shared_ptr< MaskDict > dict)
Definition
MaskDict.cc:114
lsst::afw::image::detail::MaskDict::copyOrGetDefault
static std::shared_ptr< MaskDict > copyOrGetDefault(MaskPlaneDict const &dict)
Definition
MaskDict.cc:108
lsst::geom::Box2I
lsst::afw::image::detail::MaskPlaneDict
std::map< std::string, int > MaskPlaneDict
Definition
Mask.h:58
lsst::afw::image
Definition
imageAlgorithm.dox:1
lsst::afw::image::MaskPixel
std::int32_t MaskPixel
default type for Masks and MaskedImage Masks
Definition
LsstImageTypes.h:34
lsst::afw::image::ImageOrigin
ImageOrigin
Definition
ImageBase.h:94
lsst::afw
Definition
imageAlgorithm.dox:1
lsst
std::shared_ptr
Generated on
for lsst.afw by
1.17.0