 |
ImageD
v2_7_5 (24.06.22)
ImageD is an image processing software designed for rapid prototyping and implementing algorithms and solutions for science, research and teaching.
|
Go to the documentation of this file.
9 #ifndef D_IMG_PROC_3DFACTORY_H
10 #define D_IMG_PROC_3DFACTORY_H
28 #include <QMainWindow>
39 #include <opencv2/core/core.hpp>
40 #include <opencv2/highgui/highgui.hpp>
41 #include <opencv2/imgproc/imgproc.hpp>
57 static function<int (
Mat *,
Mat *)> Duplicate ();
58 static function<int (
Mat *,
Mat *)> Pad_Border (
int border_size_x,
int border_size_y,
int border_size_z,
int border_type =
BORDER_CONSTANT,
double border_val = 0);
60 static function<int (
Mat *,
Mat *,
Mat*)> Filter_Function (
function<
double (
double cur,
double nei)> F1_CenterImage,
function<
double (
double f1r,
double msk)> F2_f1mask,
function<
double (vector<double> vf2r)> F3_Combine,
function<
double (
double f3r,
double cen)> F4_f3center,
int border_type =
BORDER_CONSTANT,
bool DoNonZeroMaskOnly =
false);
61 static function<int (
Mat *,
Mat *,
Mat*)> Filter_Function_8bit (
function<uchar (
double cur,
double nei)> F1_CenterImage,
function<uchar (
double f1r,
double msk)> F2_f1mask,
function<uchar (vector<double> vf2r)> F3_Combine,
function<uchar (
double f3r,
double cen)> F4_f3center,
int border_type =
BORDER_CONSTANT,
bool DoNonZeroMaskOnly =
false);
64 static function<int (
Mat *,
Mat *)> Filter_Median (
int size_x = 3,
int size_y = 3,
int size_z = 3);
65 static function<int (
Mat *,
Mat *)> Filter_Eilenstein_Greater_Sum (
int size_x = 3,
int size_y = 3,
int size_z = 3);
67 static function<int (
Mat *,
Mat *)> Morphology_Dilation (
int size_x = 3,
int size_y = 3,
int size_z = 3);
68 static function<int (
Mat *,
Mat *)> Morphology_Erosion (
int size_x = 3,
int size_y = 3,
int size_z = 3);
70 static function<int (
Mat *,
Mat *)> Neighborhood_Configs ();
71 static function<int (
Mat *,
Mat *)> Euler_Number (
double *euler_number);
73 static function<int (
Mat *,
Mat *)> Distance_Transformation_EDT (
double spacing_x = 1,
double spacing_y = 1,
double spacing_z = 1);
75 static function<int (
Mat *)> InterferometerMichelson (
int scene_size_x_px,
int scene_size_y_px,
int scene_size_z_px,
double scale_px2um,
double wavelength_um,
double dist_source_um,
double dist_detector_um,
double dist_mirror1_um,
double dist_mirror2_um,
double angle_mirror1_x,
double angle_mirror1_y,
double angle_mirror2_x,
double angle_mirror2_y,
bool intensity_notfield,
bool beam_atSO_SO,
bool beam_atSO_M1_SO,
bool beam_atSO_SP_M2_SP_SO,
bool beam_atM1_SO,
bool beam_atM1_M1_SO,
bool beam_atM2_SP_SO,
bool beam_atM2_M2_SP_SO,
bool beam_atDE_SP_M1_SO,
bool beam_atDE_M2_SP_SO);
80 #endif // D_IMG_PROC_3DFACTORY_H
cv::Mat Mat
Definition: d_opencv_typedefs.h:28
const int BORDER_CONSTANT
Definition: d_opencv_typedefs.h:77
D_Img_Proc_3dFactory()
Definition: d_img_proc_3dfactory.cpp:12
static function< int(Mat *, Mat *, Mat *)> Filter_Function(function< double(double cur, double nei)> F1_CenterImage, function< double(double f1r, double msk)> F2_f1mask, function< double(vector< double > vf2r)> F3_Combine, function< double(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc_3dfactory.cpp:44
static int Neighborhood_Configs(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc_3d.cpp:1821
static int Morphology_Erosion(Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3d.cpp:1748
static function< int(Mat *, Mat *)> Morphology_Erosion(int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3dfactory.cpp:122
static function< int(Mat *, Mat *)> Distance_Transformation_EDT(double spacing_x=1, double spacing_y=1, double spacing_z=1)
Definition: d_img_proc_3dfactory.cpp:159
static function< int(Mat *, Mat *)> Filter_Median(int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3dfactory.cpp:80
static function< int(Mat *, Mat *)> Pad_Border(int border_size_x, int border_size_y, int border_size_z, int border_type=BORDER_CONSTANT, double border_val=0)
Definition: d_img_proc_3dfactory.cpp:28
static int InterferometerMichelson(Mat *pMA_Out, int scene_size_x_px, int scene_size_y_px, int scene_size_z_px, double scale_px2um, double wavelength_um, double dist_source_um, double dist_detector_um, double dist_mirror1_um, double dist_mirror2_um, double angle_mirror1_x, double angle_mirror1_y, double angle_mirror2_x, double angle_mirror2_y, bool intensity_notfield, bool beam_atSO_SO, bool beam_atSO_M1_SO, bool beam_atSO_SP_M2_SP_SO, bool beam_atM1_SO, bool beam_atM1_M1_SO, bool beam_atM2_SP_SO, bool beam_atM2_M2_SP_SO, bool beam_atDE_SP_M1_SO, bool beam_atDE_M2_SP_SO)
Definition: d_img_proc_3d.cpp:2217
static int Filter_Function(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< double(double cur, double nei)> F1_CenterImage, function< double(double f1r, double msk)> F2_f1mask, function< double(vector< double > vf2r)> F3_Combine, function< double(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc_3d.cpp:656
static function< int(Mat *, Mat *)> Duplicate()
Definition: d_img_proc_3dfactory.cpp:17
static int Pad_Border(Mat *pMA_Out, Mat *pMA_In, int border_size_x, int border_size_y, int border_size_z, int border_type=BORDER_CONSTANT, double border_val=0)
Definition: d_img_proc_3d.cpp:312
static function< int(Mat *, Mat *)> Morphology_Dilation(int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3dfactory.cpp:108
static function< int(Mat *, Mat *, Mat *)> Filter_Function_8bit(function< uchar(double cur, double nei)> F1_CenterImage, function< uchar(double f1r, double msk)> F2_f1mask, function< uchar(vector< double > vf2r)> F3_Combine, function< uchar(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc_3dfactory.cpp:62
static int Duplicate(Mat *pMA_Out, Mat *pMA_In)
Definition: d_img_proc_3d.cpp:16
static function< int(Mat *, Mat *)> Euler_Number(double *euler_number)
Definition: d_img_proc_3dfactory.cpp:147
static int Distance_Transformation_EDT(Mat *pMA_Out, Mat *pMA_In, double spacing_x=1, double spacing_y=1, double spacing_z=1)
Definition: d_img_proc_3d.cpp:1884
static function< int(Mat *)> InterferometerMichelson(int scene_size_x_px, int scene_size_y_px, int scene_size_z_px, double scale_px2um, double wavelength_um, double dist_source_um, double dist_detector_um, double dist_mirror1_um, double dist_mirror2_um, double angle_mirror1_x, double angle_mirror1_y, double angle_mirror2_x, double angle_mirror2_y, bool intensity_notfield, bool beam_atSO_SO, bool beam_atSO_M1_SO, bool beam_atSO_SP_M2_SP_SO, bool beam_atM1_SO, bool beam_atM1_M1_SO, bool beam_atM2_SP_SO, bool beam_atM2_M2_SP_SO, bool beam_atDE_SP_M1_SO, bool beam_atDE_M2_SP_SO)
Definition: d_img_proc_3dfactory.cpp:173
static int Filter_Function_8bit(Mat *pMA_Out, Mat *pMA_In, Mat *pMA_Mask, function< uchar(double cur, double nei)> F1_CenterImage, function< uchar(double f1r, double msk)> F2_f1mask, function< uchar(vector< double > vf2r)> F3_Combine, function< uchar(double f3r, double cen)> F4_f3center, int border_type=BORDER_CONSTANT, bool DoNonZeroMaskOnly=false)
Definition: d_img_proc_3d.cpp:1109
static int Filter_Median(Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3d.cpp:1547
static int EulerNumber(double *euler_number, Mat *pMA_In)
Definition: d_img_proc_3d.cpp:2028
The D_Img_Proc_3dFactory class Factory that turns methods from D_Img_Proc_3D into function objects.
Definition: d_img_proc_3dfactory.h:53
static function< int(Mat *, Mat *)> Neighborhood_Configs()
Definition: d_img_proc_3dfactory.cpp:136
static int Morphology_Dilation(Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3d.cpp:1675
static function< int(Mat *, Mat *)> Filter_Eilenstein_Greater_Sum(int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3dfactory.cpp:94
static int Filter_Eilenstein_Greater_Sum(Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
Definition: d_img_proc_3d.cpp:1629