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.
D_Img_Proc_3D Class Reference

The D_Img_Proc_3D class static 3D image processing functions. More...

#include <d_img_proc_3d.h>

Public Member Functions

 D_Img_Proc_3D ()
 

Static Public Member Functions

static int Duplicate (Mat *pMA_Out, Mat *pMA_In)
 
static int Convert_Uchar_1C (Mat *pMA_Out, Mat *pMA_In)
 
static int Convert_Double_1C (Mat *pMA_Out, Mat *pMA_In)
 
static int Convert_Double (Mat *pMA_Out, Mat *pMA_In)
 
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)
 
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)
 
static int Filter_Function_1C (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, int thread_number=8, bool DoNonZeroMaskOnly=false)
 
static int Filter_Function_1C_Thread (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 z_start, int z_end, int y_start, int y_end, int x_start, int x_end, bool DoNonZeroMaskOnly=false)
 
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)
 
static int Filter_Function_8bit_1C (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, int thread_number=8, bool DoNonZeroMaskOnly=false)
 
static int Filter_Function_8bit_1C_Thread (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 z_start, int z_end, int y_start, int y_end, int x_start, int x_end, bool DoNonZeroMaskOnly=false)
 
static int Filter_Median (Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
 
static int Filter_Eilenstein_Greater_Sum (Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
 
static int Morphology_Dilation (Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
 
static int Morphology_Erosion (Mat *pMA_Out, Mat *pMA_In, int size_x=3, int size_y=3, int size_z=3)
 
static int Neighborhood_Configs (Mat *pMA_Out, Mat *pMA_In)
 
static int Distance_Transformation_EDT (Mat *pMA_Out, Mat *pMA_In, double spacing_x=1, double spacing_y=1, double spacing_z=1)
 
static int EulerNumber (double *euler_number, Mat *pMA_In)
 
static int EulerNumber (double *euler_number, Mat *pMA_Out, Mat *pMA_In)
 
static int Calc_Hist_8bit_1C (vector< double > *v_hist, Mat *pMA_In, bool uniform, bool accum)
 
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)
 

Detailed Description

The D_Img_Proc_3D class static 3D image processing functions.

Most methods take pointers to input and/or ouput Mat plus additional parameters. Basic 3D funcionality comes from Mat but most of the logic is selfmade.

Constructor & Destructor Documentation

◆ D_Img_Proc_3D()

D_Img_Proc_3D::D_Img_Proc_3D ( )

Member Function Documentation

◆ Calc_Hist_8bit_1C()

int D_Img_Proc_3D::Calc_Hist_8bit_1C ( vector< double > *  v_hist,
Mat pMA_In,
bool  uniform,
bool  accum 
)
static

◆ Convert_Double()

int D_Img_Proc_3D::Convert_Double ( Mat pMA_Out,
Mat pMA_In 
)
static

◆ Convert_Double_1C()

int D_Img_Proc_3D::Convert_Double_1C ( Mat pMA_Out,
Mat pMA_In 
)
static

◆ Convert_Uchar_1C()

int D_Img_Proc_3D::Convert_Uchar_1C ( Mat pMA_Out,
Mat pMA_In 
)
static

◆ Distance_Transformation_EDT()

int D_Img_Proc_3D::Distance_Transformation_EDT ( Mat pMA_Out,
Mat pMA_In,
double  spacing_x = 1,
double  spacing_y = 1,
double  spacing_z = 1 
)
static

◆ Duplicate()

int D_Img_Proc_3D::Duplicate ( Mat pMA_Out,
Mat pMA_In 
)
static

◆ EulerNumber() [1/2]

int D_Img_Proc_3D::EulerNumber ( double *  euler_number,
Mat pMA_In 
)
static

◆ EulerNumber() [2/2]

int D_Img_Proc_3D::EulerNumber ( double *  euler_number,
Mat pMA_Out,
Mat pMA_In 
)
static

◆ Filter_Eilenstein_Greater_Sum()

int D_Img_Proc_3D::Filter_Eilenstein_Greater_Sum ( Mat pMA_Out,
Mat pMA_In,
int  size_x = 3,
int  size_y = 3,
int  size_z = 3 
)
static

◆ Filter_Function()

int D_Img_Proc_3D::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 
)
static

◆ Filter_Function_1C()

int D_Img_Proc_3D::Filter_Function_1C ( 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,
int  thread_number = 8,
bool  DoNonZeroMaskOnly = false 
)
static

◆ Filter_Function_1C_Thread()

int D_Img_Proc_3D::Filter_Function_1C_Thread ( 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  z_start,
int  z_end,
int  y_start,
int  y_end,
int  x_start,
int  x_end,
bool  DoNonZeroMaskOnly = false 
)
static

◆ Filter_Function_8bit()

int D_Img_Proc_3D::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 
)
static

◆ Filter_Function_8bit_1C()

int D_Img_Proc_3D::Filter_Function_8bit_1C ( 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,
int  thread_number = 8,
bool  DoNonZeroMaskOnly = false 
)
static

◆ Filter_Function_8bit_1C_Thread()

int D_Img_Proc_3D::Filter_Function_8bit_1C_Thread ( 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  z_start,
int  z_end,
int  y_start,
int  y_end,
int  x_start,
int  x_end,
bool  DoNonZeroMaskOnly = false 
)
static

◆ Filter_Median()

int D_Img_Proc_3D::Filter_Median ( Mat pMA_Out,
Mat pMA_In,
int  size_x = 3,
int  size_y = 3,
int  size_z = 3 
)
static

◆ InterferometerMichelson()

int D_Img_Proc_3D::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 
)
static

◆ Morphology_Dilation()

int D_Img_Proc_3D::Morphology_Dilation ( Mat pMA_Out,
Mat pMA_In,
int  size_x = 3,
int  size_y = 3,
int  size_z = 3 
)
static

◆ Morphology_Erosion()

int D_Img_Proc_3D::Morphology_Erosion ( Mat pMA_Out,
Mat pMA_In,
int  size_x = 3,
int  size_y = 3,
int  size_z = 3 
)
static

◆ Neighborhood_Configs()

int D_Img_Proc_3D::Neighborhood_Configs ( Mat pMA_Out,
Mat pMA_In 
)
static

◆ Pad_Border()

int D_Img_Proc_3D::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 
)
static

The documentation for this class was generated from the following files: