SourceXtractorPlusPlus
0.15
Please provide a description of the project.
SEFramework
SEFramework
FITS
FitsImageSource.h
Go to the documentation of this file.
1
17
/*
18
* FitsImageSource.h
19
*
20
* Created on: Feb 21, 2018
21
* Author: mschefer
22
*/
23
24
#ifndef _SEFRAMEWORK_IMAGE_FITSIMAGESOURCE_H_
25
#define _SEFRAMEWORK_IMAGE_FITSIMAGESOURCE_H_
26
27
#include <memory>
28
#include <vector>
29
#include <map>
30
31
#include <boost/lexical_cast.hpp>
32
33
#include "
FilePool/FileManager.h
"
34
#include "
SEFramework/CoordinateSystem/CoordinateSystem.h
"
35
#include "
SEFramework/Image/ImageSourceWithMetadata.h
"
36
#include "
SEFramework/FITS/FitsFile.h
"
37
#include "
SEUtils/VariantCast.h
"
38
39
40
namespace
SourceXtractor
{
41
42
using
Euclid::FilePool::FileManager
;
43
using
Euclid::FilePool::FileHandler
;
44
45
class
FitsImageSource
:
public
ImageSource
,
public
std::enable_shared_from_this
<ImageSource> {
46
public
:
47
48
57
FitsImageSource
(
const
std::string
&
filename
,
int
hdu_number = 0,
58
ImageTile::ImageType
image_type =
ImageTile::AutoType
,
59
std::shared_ptr<FileManager>
manager =
FileManager::getDefault
());
60
61
FitsImageSource
(
const
std::string
&
filename
,
int
width,
int
height,
62
ImageTile::ImageType
image_type,
63
const
std::shared_ptr<CoordinateSystem>
coord_system =
nullptr
,
64
bool
append =
false
,
65
bool
empty_primary =
false
,
66
std::shared_ptr<FileManager>
manager =
FileManager::getDefault
());
67
68
virtual
~FitsImageSource
() =
default
;
69
70
std::string
getRepr
()
const override
{
71
return
m_filename
;
72
}
73
75
int
getWidth
()
const override
{
76
return
m_width
;
77
}
78
80
int
getHeight
()
const override
{
81
return
m_height
;
82
}
83
84
std::shared_ptr<ImageTile>
getImageTile
(
int
x
,
int
y
,
int
width,
int
height)
const override
;
85
86
void
saveTile
(
ImageTile
& tile)
override
;
87
88
template
<
typename
TT>
89
bool
readFitsKeyword
(
const
std::string
& header_keyword, TT& out_value)
const
{
90
auto
& headers =
getMetadata
();
91
auto
i = headers.find(header_keyword);
92
if
(i != headers.end()) {
93
out_value = VariantCast<TT>(i->second.m_value);
94
return
true
;
95
}
96
return
false
;
97
}
98
99
int
getHDU
()
const
{
100
return
m_hdu_number
;
101
}
102
103
ImageTile::ImageType
getType
()
const override
{
104
return
m_image_type
;
105
}
106
107
std::unique_ptr<std::vector<char>
>
getFitsHeaders
(
int
& number_of_records)
const
;
108
109
const
std::map<std::string, MetadataEntry>
getMetadata
()
const override
;
110
111
void
setMetadata
(
std::string
key,
MetadataEntry
value)
override
;
112
113
private
:
114
void
switchHdu
(fitsfile *fptr,
int
hdu_number)
const
;
115
116
int
getDataType
()
const
;
117
118
int
getImageType
()
const
;
119
120
std::string
m_filename
;
121
std::shared_ptr<FileHandler>
m_handler
;
122
123
int
m_hdu_number
;
124
125
int
m_width
;
126
int
m_height
;
127
ImageTile::ImageType
m_image_type
;
128
};
129
130
}
131
132
133
#endif
/* _SEFRAMEWORK_IMAGE_FITSIMAGESOURCE_H_ */
SourceXtractor::FitsImageSource
Definition:
FitsImageSource.h:45
std::string
STL class.
std::shared_ptr
STL class.
SourceXtractor::FitsImageSource::saveTile
void saveTile(ImageTile &tile) override
Definition:
FitsImageSource.cpp:207
SourceXtractor::FitsImageSource::getMetadata
const std::map< std::string, MetadataEntry > getMetadata() const override
Definition:
FitsImageSource.cpp:289
conf.filename
string filename
Definition:
conf.py:63
Euclid::FilePool::FileHandler
SourceXtractor::FitsImageSource::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
FitsImageSource.h:75
SourceXtractor::FitsImageSource::m_filename
std::string m_filename
Definition:
FitsImageSource.h:120
SourceXtractor::FitsImageSource::getRepr
std::string getRepr() const override
Human readable representation of this source.
Definition:
FitsImageSource.h:70
SourceXtractor::FitsImageSource::m_width
int m_width
Definition:
FitsImageSource.h:125
CoordinateSystem.h
SourceXtractor::FitsImageSource::getFitsHeaders
std::unique_ptr< std::vector< char > > getFitsHeaders(int &number_of_records) const
Definition:
FitsImageSource.cpp:244
SourceXtractor::FitsImageSource::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
FitsImageSource.h:80
SourceXtractor::FitsImageSource::getHDU
int getHDU() const
Definition:
FitsImageSource.h:99
SourceXtractor::ImageTile
Definition:
ImageTile.h:34
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::FitsImageSource::m_handler
std::shared_ptr< FileHandler > m_handler
Definition:
FitsImageSource.h:121
ImageSourceWithMetadata.h
SourceXtractor::FitsImageSource::m_hdu_number
int m_hdu_number
Definition:
FitsImageSource.h:123
SourceXtractor::FitsImageSource::m_height
int m_height
Definition:
FitsImageSource.h:126
std::enable_shared_from_this
Euclid::FilePool::FileManager
SourceXtractor::MetadataEntry
Definition:
ImageSource.h:39
std::map
STL class.
SourceXtractor::FitsImageSource::getDataType
int getDataType() const
Definition:
FitsImageSource.cpp:319
SourceXtractor::FitsImageSource::~FitsImageSource
virtual ~FitsImageSource()=default
SourceXtractor::ImageSource
Definition:
ImageSource.h:52
SourceXtractor::FitsImageSource::m_image_type
ImageTile::ImageType m_image_type
Definition:
FitsImageSource.h:127
VariantCast.h
SourceXtractor::FitsImageSource::FitsImageSource
FitsImageSource(const std::string &filename, int hdu_number=0, ImageTile::ImageType image_type=ImageTile::AutoType, std::shared_ptr< FileManager > manager=FileManager::getDefault())
Definition:
FitsImageSource.cpp:47
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition:
MoffatModelFittingTask.cpp:94
SourceXtractor::FitsImageSource::setMetadata
void setMetadata(std::string key, MetadataEntry value) override
Definition:
FitsImageSource.cpp:294
Euclid::FilePool::FileManager::getDefault
static std::shared_ptr< FileManager > getDefault()
SourceXtractor::ImageTile::AutoType
@ AutoType
Definition:
ImageTile.h:38
SourceXtractor::FitsImageSource::getType
ImageTile::ImageType getType() const override
Definition:
FitsImageSource.h:103
SourceXtractor::FitsImageSource::readFitsKeyword
bool readFitsKeyword(const std::string &header_keyword, TT &out_value) const
Definition:
FitsImageSource.h:89
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition:
MoffatModelFittingTask.cpp:94
std::unique_ptr
STL class.
SourceXtractor::ImageTile::ImageType
ImageType
Definition:
ImageTile.h:37
SourceXtractor::FitsImageSource::getImageType
int getImageType() const
Definition:
FitsImageSource.cpp:335
FileManager.h
FitsFile.h
SourceXtractor::FitsImageSource::switchHdu
void switchHdu(fitsfile *fptr, int hdu_number) const
Definition:
FitsImageSource.cpp:228
SourceXtractor::FitsImageSource::getImageTile
std::shared_ptr< ImageTile > getImageTile(int x, int y, int width, int height) const override
Definition:
FitsImageSource.cpp:185
Generated by
1.8.20