SourceXtractorPlusPlus
0.14
Please provide a description of the project.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
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 "
SEFramework/CoordinateSystem/CoordinateSystem.h
"
34
#include "
SEFramework/Image/ImageSourceWithMetadata.h
"
35
#include "
SEFramework/FITS/FitsFileManager.h
"
36
#include "
SEFramework/FITS/FitsFile.h
"
37
#include "
SEUtils/VariantCast.h
"
38
39
40
namespace
SourceXtractor {
41
42
class
FitsImageSource
:
public
ImageSource
,
public
std::enable_shared_from_this
<ImageSource> {
43
public
:
44
45
54
FitsImageSource
(
const
std::string
&
filename
,
int
hdu_number = 0,
ImageTile::ImageType
image_type =
ImageTile::AutoType
,
55
std::shared_ptr<FitsFileManager>
manager =
FitsFileManager::getInstance
());
56
57
FitsImageSource
(
const
std::string
&filename,
int
width
,
int
height
,
ImageTile::ImageType
image_type,
58
const
std::shared_ptr<CoordinateSystem>
coord_system =
nullptr
,
bool
append=
false
,
59
bool
empty_primary=
false
,
std::shared_ptr<FitsFileManager>
manager =
FitsFileManager::getInstance
());
60
61
virtual
~FitsImageSource
() =
default
;
62
63
std::string
getRepr
()
const override
{
64
return
m_filename
;
65
}
66
68
int
getWidth
()
const override
{
69
return
m_width
;
70
}
71
73
int
getHeight
()
const override
{
74
return
m_height
;
75
}
76
77
std::shared_ptr<ImageTile>
getImageTile
(
int
x
,
int
y
,
int
width,
int
height)
const override
;
78
79
void
saveTile
(
ImageTile
& tile)
override
;
80
81
template
<
typename
TT>
82
bool
readFitsKeyword
(
const
std::string
& header_keyword, TT& out_value)
const
{
83
auto
& headers =
getMetadata
();
84
auto
i = headers.find(header_keyword);
85
if
(i != headers.end()) {
86
out_value = VariantCast<TT>(i->second.m_value);
87
return
true
;
88
}
89
return
false
;
90
}
91
92
int
getHDU
()
const
{
93
return
m_hdu_number
;
94
}
95
96
ImageTile::ImageType
getType
()
const override
{
97
return
m_image_type
;
98
}
99
100
std::unique_ptr<std::vector<char>
>
getFitsHeaders
(
int
& number_of_records)
const
;
101
102
const
std::map<std::string, MetadataEntry>
getMetadata
()
const override
{
103
return
m_fits_file
->getHDUHeaders(
m_hdu_number
);
104
}
105
106
void
setMetadata
(
std::string
key,
MetadataEntry
value)
override
;
107
108
private
:
109
void
switchHdu
(fitsfile* fptr,
int
hdu_number)
const
;
110
111
int
getDataType
()
const
;
112
int
getImageType
()
const
;
113
114
std::string
m_filename
;
115
std::shared_ptr<FitsFile>
m_fits_file
;
116
std::shared_ptr<FitsFileManager>
m_manager
;
117
118
int
m_hdu_number
;
119
120
int
m_width
;
121
int
m_height
;
122
ImageTile::ImageType
m_image_type
;
123
};
124
125
}
126
127
128
#endif
/* _SEFRAMEWORK_IMAGE_FITSIMAGESOURCE_H_ */
std::shared_ptr
SourceXtractor::FitsImageSource::getDataType
int getDataType() const
Definition:
FitsImageSource.cpp:303
SourceXtractor::FitsImageSource::getFitsHeaders
std::unique_ptr< std::vector< char > > getFitsHeaders(int &number_of_records) const
Definition:
FitsImageSource.cpp:236
SourceXtractor::MetadataEntry
Definition:
ImageSource.h:39
SourceXtractor::FitsImageSource::m_hdu_number
int m_hdu_number
Definition:
FitsImageSource.h:118
SourceXtractor::FitsImageSource::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
FitsImageSource.h:68
SourceXtractor::FitsImageSource::getMetadata
const std::map< std::string, MetadataEntry > getMetadata() const override
Definition:
FitsImageSource.h:102
FitsFileManager.h
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition:
MoffatModelFittingTask.cpp:94
SourceXtractor::FitsFileManager::getInstance
static std::shared_ptr< FitsFileManager > getInstance()
Definition:
FitsFileManager.h:47
SourceXtractor::FitsImageSource::readFitsKeyword
bool readFitsKeyword(const std::string &header_keyword, TT &out_value) const
Definition:
FitsImageSource.h:82
SourceXtractor::FitsImageSource::~FitsImageSource
virtual ~FitsImageSource()=default
SourceXtractor::FitsImageSource::m_image_type
ImageTile::ImageType m_image_type
Definition:
FitsImageSource.h:122
SourceXtractor::ImageTile::AutoType
Definition:
ImageTile.h:38
SourceXtractor::FitsImageSource::getImageTile
std::shared_ptr< ImageTile > getImageTile(int x, int y, int width, int height) const override
Definition:
FitsImageSource.cpp:180
std::map
STL class.
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition:
MoffatModelFittingTask.cpp:94
SourceXtractor::FitsImageSource::m_fits_file
std::shared_ptr< FitsFile > m_fits_file
Definition:
FitsImageSource.h:115
std::string
STL class.
SourceXtractor::ImageTile::ImageType
ImageType
Definition:
ImageTile.h:37
SourceXtractor::FitsImageSource::m_manager
std::shared_ptr< FitsFileManager > m_manager
Definition:
FitsImageSource.h:116
ImageSourceWithMetadata.h
SourceXtractor::FitsImageSource::getImageType
int getImageType() const
Definition:
FitsImageSource.cpp:319
SourceXtractor::FitsImageSource::getType
ImageTile::ImageType getType() const override
Definition:
FitsImageSource.h:96
SourceXtractor::ImageTile
Definition:
ImageTile.h:34
FitsFile.h
conf.filename
string filename
Definition:
conf.py:63
SourceXtractor::FitsImageSource::setMetadata
void setMetadata(std::string key, MetadataEntry value) override
Definition:
FitsImageSource.cpp:280
SourceXtractor::FitsImageSource::m_width
int m_width
Definition:
FitsImageSource.h:120
SourceXtractor::FitsImageSource::getHDU
int getHDU() const
Definition:
FitsImageSource.h:92
std::enable_shared_from_this
SourceXtractor::FitsImageSource::m_filename
std::string m_filename
Definition:
FitsImageSource.h:114
CoordinateSystem.h
SourceXtractor::FitsImageSource::switchHdu
void switchHdu(fitsfile *fptr, int hdu_number) const
Definition:
FitsImageSource.cpp:220
SourceXtractor::ImageSource
Definition:
ImageSource.h:52
std::unique_ptr
STL class.
ModelFitting::height
height
Definition:
CompactModelBase.icpp:19
VariantCast.h
SourceXtractor::FitsImageSource::saveTile
void saveTile(ImageTile &tile) override
Definition:
FitsImageSource.cpp:201
SourceXtractor::FitsImageSource::m_height
int m_height
Definition:
FitsImageSource.h:121
SourceXtractor::FitsImageSource::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
FitsImageSource.h:73
ModelFitting::width
width
Definition:
CompactModelBase.icpp:19
SourceXtractor::FitsImageSource
Definition:
FitsImageSource.h:42
SourceXtractor::FitsImageSource::FitsImageSource
FitsImageSource(const std::string &filename, int hdu_number=0, ImageTile::ImageType image_type=ImageTile::AutoType, std::shared_ptr< FitsFileManager > manager=FitsFileManager::getInstance())
Definition:
FitsImageSource.cpp:47
SourceXtractor::FitsImageSource::getRepr
std::string getRepr() const override
Human readable representation of this source.
Definition:
FitsImageSource.h:63
Generated by
1.8.5