SourceXtractorPlusPlus
0.15
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 "
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_ */
Euclid::FilePool::FileHandler
std::shared_ptr
FileManager.h
SourceXtractor::FitsImageSource::getDataType
int getDataType() const
Definition:
FitsImageSource.cpp:319
SourceXtractor::FitsImageSource::getFitsHeaders
std::unique_ptr< std::vector< char > > getFitsHeaders(int &number_of_records) const
Definition:
FitsImageSource.cpp:244
SourceXtractor::MetadataEntry
Definition:
ImageSource.h:39
SourceXtractor::FitsImageSource::m_hdu_number
int m_hdu_number
Definition:
FitsImageSource.h:123
SourceXtractor::FitsImageSource::getWidth
int getWidth() const override
Returns the width of the image in pixels.
Definition:
FitsImageSource.h:75
x
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > x
Definition:
MoffatModelFittingTask.cpp:94
Euclid::FilePool::FileManager::getDefault
static std::shared_ptr< FileManager > getDefault()
SourceXtractor::FitsImageSource::readFitsKeyword
bool readFitsKeyword(const std::string &header_keyword, TT &out_value) const
Definition:
FitsImageSource.h:89
SourceXtractor::FitsImageSource::~FitsImageSource
virtual ~FitsImageSource()=default
SourceXtractor::FitsImageSource::m_image_type
ImageTile::ImageType m_image_type
Definition:
FitsImageSource.h:127
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:185
std::map
STL class.
y
std::shared_ptr< DependentParameter< std::shared_ptr< EngineParameter > > > y
Definition:
MoffatModelFittingTask.cpp:94
std::string
STL class.
SourceXtractor::ImageTile::ImageType
ImageType
Definition:
ImageTile.h:37
ImageSourceWithMetadata.h
SourceXtractor::FitsImageSource::getImageType
int getImageType() const
Definition:
FitsImageSource.cpp:335
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
SourceXtractor::FitsImageSource::getType
ImageTile::ImageType getType() const override
Definition:
FitsImageSource.h:103
SourceXtractor::ImageTile
Definition:
ImageTile.h:34
Euclid::FilePool::FileManager
FitsFile.h
conf.filename
string filename
Definition:
conf.py:63
SourceXtractor::FitsImageSource::setMetadata
void setMetadata(std::string key, MetadataEntry value) override
Definition:
FitsImageSource.cpp:294
SourceXtractor::FitsImageSource::m_width
int m_width
Definition:
FitsImageSource.h:125
SourceXtractor::FitsImageSource::getHDU
int getHDU() const
Definition:
FitsImageSource.h:99
std::enable_shared_from_this
SourceXtractor::FitsImageSource::m_filename
std::string m_filename
Definition:
FitsImageSource.h:120
CoordinateSystem.h
SourceXtractor::FitsImageSource::switchHdu
void switchHdu(fitsfile *fptr, int hdu_number) const
Definition:
FitsImageSource.cpp:228
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:207
SourceXtractor::FitsImageSource::m_height
int m_height
Definition:
FitsImageSource.h:126
SourceXtractor::FitsImageSource::getHeight
int getHeight() const override
Returns the height of the image in pixels.
Definition:
FitsImageSource.h:80
SourceXtractor::FitsImageSource::getMetadata
const std::map< std::string, MetadataEntry > getMetadata() const override
Definition:
FitsImageSource.cpp:289
ModelFitting::width
width
Definition:
CompactModelBase.icpp:19
SourceXtractor::FitsImageSource
Definition:
FitsImageSource.h:45
SourceXtractor::FitsImageSource::m_handler
std::shared_ptr< FileHandler > m_handler
Definition:
FitsImageSource.h:121
SourceXtractor::FitsImageSource::getRepr
std::string getRepr() const override
Human readable representation of this source.
Definition:
FitsImageSource.h:70
Generated by
1.8.5