SourceXtractorPlusPlus
0.10
Please provide a description of the project.
ModelFitting
ModelFitting
Image
OpenCvPsf.h
Go to the documentation of this file.
1
23
#ifndef MODELFITTING_OPENCVPSF_H
24
#define MODELFITTING_OPENCVPSF_H
25
26
#include <opencv2/opencv.hpp>
27
#include "
ElementsKernel/Exception.h
"
28
29
namespace
ModelFitting
{
30
31
class
OpenCvPsf
{
32
33
public
:
34
35
OpenCvPsf
(
double
pixel_scale
,
const
cv::Mat& kernel)
36
:
m_pixel_scale
{
pixel_scale
},
m_kernel
{kernel} {
37
if
(kernel.cols != kernel.rows) {
38
throw
Elements::Exception
() <<
"PSF kernel must be square but was "
39
<< kernel.cols <<
'X'
<< kernel.rows;
40
}
41
if
(kernel.cols % 2 == 0) {
42
throw
Elements::Exception
() <<
"PSF kernel must have odd size, but got "
43
<< kernel.cols;
44
}
45
}
46
47
virtual
~OpenCvPsf
() =
default
;
48
49
double
getPixelScale
()
const
{
50
return
m_pixel_scale
;
51
}
52
53
std::size_t
getSize
()
const
{
54
return
m_kernel
.cols;
55
}
56
57
// template <typename ImageType>
58
// ImageType getKernel() const;
59
60
cv::Mat
getKernel
()
const
{
61
return
m_kernel
;
62
}
63
64
cv::Mat
getScaledKernel
(
double
scale)
const
{
65
return
m_kernel
* scale;
66
}
67
68
// template <typename ImageType>
69
// void convolve(ImageType& image) const;
70
71
void
convolve
(cv::Mat& image)
const
{
72
cv::filter2D(image, image, -1,
m_kernel
);
73
}
74
75
private
:
76
77
double
m_pixel_scale
;
78
cv::Mat
m_kernel
;
79
80
};
// end of class OpenCvPsf
81
82
}
// endo of ModelFitting
83
84
#endif
/* MODELFITTING_OPENCVPSF_H */
85
ModelFitting::OpenCvPsf::getScaledKernel
cv::Mat getScaledKernel(double scale) const
Definition:
OpenCvPsf.h:64
ModelFitting::OpenCvPsf
Definition:
OpenCvPsf.h:31
ModelFitting::OpenCvPsf::getSize
std::size_t getSize() const
Definition:
OpenCvPsf.h:53
ModelFitting::OpenCvPsf::m_kernel
cv::Mat m_kernel
Definition:
OpenCvPsf.h:78
ModelFitting::OpenCvPsf::OpenCvPsf
OpenCvPsf(double pixel_scale, const cv::Mat &kernel)
Definition:
OpenCvPsf.h:35
ModelFitting::OpenCvPsf::getPixelScale
double getPixelScale() const
Definition:
OpenCvPsf.h:49
ModelFitting::OpenCvPsf::getKernel
cv::Mat getKernel() const
Definition:
OpenCvPsf.h:60
pixel_scale
const double pixel_scale
Definition:
TestImage.cpp:75
Exception.h
Elements::Exception
ModelFitting::OpenCvPsf::~OpenCvPsf
virtual ~OpenCvPsf()=default
std::size_t
ModelFitting
Definition:
AsinhChiSquareComparator.h:30
ModelFitting::OpenCvPsf::m_pixel_scale
double m_pixel_scale
Definition:
OpenCvPsf.h:77
ModelFitting::OpenCvPsf::convolve
void convolve(cv::Mat &image) const
Definition:
OpenCvPsf.h:71
Generated by
1.8.17