SourceXtractorPlusPlus
0.13
Please provide a description of the project.
SEFramework
SEFramework
FITS
FitsFile.h
Go to the documentation of this file.
1
18
/*
19
* FitsFile.h
20
*
21
* Created on: Jun 9, 2020
22
* Author: mschefer
23
*/
24
25
#ifndef _SEFRAMEWORK_FITS_FITSFILE_H_
26
#define _SEFRAMEWORK_FITS_FITSFILE_H_
27
28
#include <string>
29
#include <vector>
30
#include <map>
31
32
#include <fitsio.h>
33
34
#include "
SEFramework/Image/ImageSourceWithMetadata.h
"
35
#include "
SEFramework/FITS/FitsFileManager.h
"
36
37
namespace
SourceXtractor
{
38
44
class
FitsFile
{
45
protected
:
46
FitsFile
(
const
std::string
&
filename
,
bool
writeable,
std::shared_ptr<FitsFileManager>
manager);
47
48
public
:
49
50
virtual
~FitsFile
();
51
52
fitsfile*
getFitsFilePtr
() {
53
if
(!
m_is_file_opened
) {
54
open
();
55
}
56
return
m_file_pointer
;
57
}
58
59
const
std::vector<int>
&
getImageHdus
()
const
{
60
return
m_image_hdus
;
61
}
62
63
std::map<std::string, MetadataEntry>
&
getHDUHeaders
(
int
hdu) {
64
return
m_headers
.at(hdu-1);
65
}
66
67
void
setWriteMode
();
68
69
void
open
();
70
void
close
();
71
72
73
private
:
74
void
openFirstTime
();
75
void
reopen
();
76
77
void
reloadHeaders
();
78
std::map<std::string, MetadataEntry>
loadFitsHeader
(fitsfile *fptr);
79
void
loadHeadFile
();
80
81
std::string
m_filename
;
82
fitsfile*
m_file_pointer
;
83
bool
m_is_file_opened
;
84
bool
m_is_writeable
;
85
bool
m_was_opened_before
;
86
87
std::vector<int>
m_image_hdus
;
88
89
std::vector<std::map<std::string, MetadataEntry>
>
m_headers
;
90
91
std::shared_ptr<FitsFileManager>
m_manager
;
92
93
friend
class
FitsFileManager
;
94
};
95
96
}
97
98
#endif
/* _SEFRAMEWORK_FITS_FITSFILE_H_ */
SourceXtractor::FitsFile::loadFitsHeader
std::map< std::string, MetadataEntry > loadFitsHeader(fitsfile *fptr)
Definition:
FitsFile.cpp:212
std::string
STL class.
SourceXtractor::FitsFile::FitsFile
FitsFile(const std::string &filename, bool writeable, std::shared_ptr< FitsFileManager > manager)
Definition:
FitsFile.cpp:90
std::shared_ptr
STL class.
SourceXtractor::FitsFile::getFitsFilePtr
fitsfile * getFitsFilePtr()
Definition:
FitsFile.h:52
SourceXtractor::FitsFile::reloadHeaders
void reloadHeaders()
Definition:
FitsFile.cpp:194
conf.filename
string filename
Definition:
conf.py:63
std::vector< int >
SourceXtractor::FitsFile::m_is_writeable
bool m_is_writeable
Definition:
FitsFile.h:84
SourceXtractor::FitsFile::reopen
void reopen()
Definition:
FitsFile.cpp:155
SourceXtractor::FitsFile::getImageHdus
const std::vector< int > & getImageHdus() const
Definition:
FitsFile.h:59
SourceXtractor::FitsFile::m_is_file_opened
bool m_is_file_opened
Definition:
FitsFile.h:83
SourceXtractor::FitsFile::getHDUHeaders
std::map< std::string, MetadataEntry > & getHDUHeaders(int hdu)
Definition:
FitsFile.h:63
SourceXtractor::FitsFile
represents access to a whole FITS file and handles loading and caching FITS headers
Definition:
FitsFile.h:44
SourceXtractor::FitsFile::m_headers
std::vector< std::map< std::string, MetadataEntry > > m_headers
Definition:
FitsFile.h:89
SourceXtractor
Definition:
Aperture.h:30
SourceXtractor::FitsFile::openFirstTime
void openFirstTime()
Definition:
FitsFile.cpp:103
ImageSourceWithMetadata.h
SourceXtractor::FitsFile::m_filename
std::string m_filename
Definition:
FitsFile.h:81
SourceXtractor::FitsFile::m_was_opened_before
bool m_was_opened_before
Definition:
FitsFile.h:85
std::map
STL class.
SourceXtractor::FitsFile::m_file_pointer
fitsfile * m_file_pointer
Definition:
FitsFile.h:82
SourceXtractor::FitsFileManager
Definition:
FitsFileManager.h:39
SourceXtractor::FitsFile::~FitsFile
virtual ~FitsFile()
Definition:
FitsFile.cpp:99
SourceXtractor::FitsFile::m_manager
std::shared_ptr< FitsFileManager > m_manager
Definition:
FitsFile.h:91
SourceXtractor::FitsFile::setWriteMode
void setWriteMode()
Definition:
FitsFile.cpp:186
SourceXtractor::FitsFile::open
void open()
Definition:
FitsFile.cpp:164
SourceXtractor::FitsFile::m_image_hdus
std::vector< int > m_image_hdus
Definition:
FitsFile.h:87
SourceXtractor::FitsFile::close
void close()
Definition:
FitsFile.cpp:176
SourceXtractor::FitsFile::loadHeadFile
void loadHeadFile()
Definition:
FitsFile.cpp:238
FitsFileManager.h
Generated by
1.8.20