![]() |
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.
|
#include <d_bio_nucleuspedigree.h>
Public Slots | |
void | SetAttribFilterToNeedUpdate () |
Public Member Functions | |
D_Bio_NucleusPedigree () | |
void | clear () |
void | set_size_time_and_mosaik (size_t t_size, size_t y_size, size_t x_size) |
void | set_time_irradiation (double t_irr) |
size_t | size_T () |
size_t | size_Y () |
size_t | size_X () |
Rect | rect_RegularRange_px () |
size_t | nuclei_blob_count (size_t t, size_t y, size_t x) |
size_t | nuclei_blob_count (size_t t) |
size_t | nuclei_blob_count () |
size_t | mosaik_index_non_empty_min_x () |
size_t | mosaik_index_non_empty_max_x () |
size_t | mosaik_index_non_empty_min_y () |
size_t | mosaik_index_non_empty_max_y () |
QString | info () |
void | info_debug () |
void | info_popup () |
D_Bio_NucleusBlob * | get_pNucleus (size_t t, size_t y_mosaic, size_t x_mosaic, size_t i) |
D_Bio_NucleusBlob * | get_pNucleus (size_t t, size_t y_mosaic_min, size_t x_mosaic_min, size_t y_mosaic_max, size_t x_mosaic_max, size_t y_pos_px, size_t x_pos_px) |
vector< D_Bio_NucleusBlob * > | get_pNuclei_FromNucLifes (bool filtered_only) |
size_t | get_NucleusLifesCount (bool filtered) |
D_Bio_NucleusLife * | get_pNucleusLife (size_t index, bool filtered) |
bool | load_nuclei_data (QString QS_path_NucDataMaster, QString QS_path_NucData, size_t nt, size_t ny, size_t nx, bool forget_contour, bool foci_are_part_of_nuc_files) |
bool | add_nucleus_blob (size_t t, size_t y, size_t x, D_Bio_NucleusBlob nuc) |
bool | initMatching (vector< double > score_weights, vector< double > score_maxima, double shift_limit, double max_rel_area_inc_to, double max_rel_area_dec_to, double max_age, double thres_tm1_go1, double thres_tm2_go1, double thres_tm3_go1, double thres_tm1_go2, double thres_tm2_go2, double thres_tm3_go2, double mitosis_mult_go1, double mitosis_mult_go2) |
int | setPedigreeViewer_Plot3D (D_Viewer_Plot_3D *viewer) |
int | updatePedigreeView_Plot3D (size_t points_per_edge, size_t t_min=0, size_t t_max=size_t(INFINITY), double y_min_um=-INFINITY, double y_max_um=INFINITY, double x_min_um=-INFINITY, double x_max_um=INFINITY) |
int | updatePedigreeView_Plot3D (D_Viewer_Plot_3D *viewer, size_t points_per_edge, size_t t_min=0, size_t t_max=size_t(INFINITY), double y_min_um=-INFINITY, double y_max_um=INFINITY, double x_min_um=-INFINITY, double x_max_um=INFINITY) |
int | setPedigreeViewer_Volumetric (D_Viewer_3D *viewer) |
int | updatePedigreeView_Volumetric (size_t size_volT_px, size_t size_volY_px, size_t size_volX_px, size_t size_Node_px, size_t size_Edge_px, size_t size_Y_px_original, size_t size_X_px_original) |
int | updatePedigreeView_Volumetric (D_Viewer_3D *viewer, size_t size_volT_px, size_t size_volY_px, size_t size_volX_px, size_t size_Node_px, size_t size_Edge_px, size_t size_Y_px_original, size_t size_X_px_original) |
void | set_scale_px2um (double scale) |
void | set_scale_T2h (double scale) |
void | set_scale_nodes (double scale) |
void | set_scale_edges (double scale) |
void | set_FrameInMargin_XY (int x_min, int x_max, int y_min, int y_max) |
void | set_FrameInMargin_XY (Rect FrameInRange) |
void | set_FrameBorder_XY (Rect FrameBorder) |
void | set_earliest_mitoses_allowed (size_t t_earliest) |
void | set_channels (QStringList channels_foc, QStringList channels_val) |
bool | set_attrib_filter_ui (QGroupBox *box_foci, QGroupBox *box_nucblobs, QGroupBox *box_nuclifes) |
bool | set_attrib_filter_path (QDir *pDir_Save) |
bool | set_attrib_filter_channels (QStringList channels_foc, QStringList channels_val) |
bool | set_attrib_filter_scaling () |
bool | set_attrib_filter (size_t filter_mode, size_t i_filt, bool is_active, size_t i_att, size_t i_comp, size_t i_ch, double thres_val) |
bool | calc_NucLifes () |
bool | calc_NucLifes_Filtered () |
vector< double > | attrib_data (size_t i_data_pt_lvl, size_t i_att_lvl_nuclife, size_t i_att_lvl_nucblob, size_t i_att_nuclife, size_t i_att_nucblob, size_t i_att_foc, size_t ch_val, size_t ch_foc, size_t stat_low, size_t stat_high) |
vector< double > | attrib_nuclife (size_t i_attrib) |
vector< double > | attrib_nucblob (size_t i_attrib, size_t ch_val) |
vector< double > | attrib_foci (size_t i_attrib, size_t ch_val) |
vector< double > | attrib_foci (size_t i_attrib, size_t ch_val, size_t ch_foc) |
bool | save_analysis (QString QS_SavePath) |
void | match_all () |
void | match_all_go1 () |
void | match_all_go2 () |
void | match_time_go1 (size_t t) |
void | match_time_go2 (size_t t) |
void | match_time_correct_mitosis_go1 (size_t t) |
void | match_time_correct_mitosis_go2 (size_t t) |
bool | match_save_results (QString QS_path) |
bool | match_load_data_and_matches (QString QS_path_NucDataMaster, QString QS_path_NucData, QString QS_path_NucLifes, size_t nt, size_t ny, size_t nx, bool forget_contour, bool foci_are_part_of_nuc_files) |
bool | match_load_matches (QString QS_path_NucLifes) |
bool | event_find (QString *QS_FoundEventType, int *t_found, int *y_found, int *x_found, vector< int > vType_Search, vector< int > vType_Param, int t_min, int y_min, int x_greater_than, bool filter_use_t_after, int filter_param_t_after, bool filter_use_t_before, int filter_param_t_before, bool filter_use_range, int filter_param_x_min, int filter_param_x_max, int filter_param_y_min, int filter_param_y_max, bool filter_no_excluded) |
bool | event_find (int *t_found, int *y_found, int *x_found, int type, int param, int t_min, int y_min, int x_greater_than, bool filter_use_t_after, int filter_param_t_after, bool filter_use_t_before, int filter_param_t_before, bool filter_use_range, int filter_param_x_min, int filter_param_x_max, int filter_param_y_min, int filter_param_y_max, bool filter_no_excluded) |
bool | event_check (int *t_event, int *y_event, int *event_x, D_Bio_NucleusLife *pNucLifeTest, int type, int param) |
vector< size_t > | event_counts (vector< int > vType_Param, int t_min, int y_min, int x_greater_than, bool filter_use_t_after, int filter_param_t_after, bool filter_use_t_before, int filter_param_t_before, bool filter_use_range, int filter_param_x_min, int filter_param_x_max, int filter_param_y_min, int filter_param_y_max, bool filter_no_excluded) |
Public Attributes | |
const QStringList | QSL_EventType |
D_Bio_NucleusPedigree::D_Bio_NucleusPedigree | ( | ) |
bool D_Bio_NucleusPedigree::add_nucleus_blob | ( | size_t | t, |
size_t | y, | ||
size_t | x, | ||
D_Bio_NucleusBlob | nuc | ||
) |
vector< double > D_Bio_NucleusPedigree::attrib_data | ( | size_t | i_data_pt_lvl, |
size_t | i_att_lvl_nuclife, | ||
size_t | i_att_lvl_nucblob, | ||
size_t | i_att_nuclife, | ||
size_t | i_att_nucblob, | ||
size_t | i_att_foc, | ||
size_t | ch_val, | ||
size_t | ch_foc, | ||
size_t | stat_low, | ||
size_t | stat_high | ||
) |
vector< double > D_Bio_NucleusPedigree::attrib_foci | ( | size_t | i_attrib, |
size_t | ch_val | ||
) |
vector< double > D_Bio_NucleusPedigree::attrib_foci | ( | size_t | i_attrib, |
size_t | ch_val, | ||
size_t | ch_foc | ||
) |
vector< double > D_Bio_NucleusPedigree::attrib_nucblob | ( | size_t | i_attrib, |
size_t | ch_val | ||
) |
vector< double > D_Bio_NucleusPedigree::attrib_nuclife | ( | size_t | i_attrib | ) |
bool D_Bio_NucleusPedigree::calc_NucLifes | ( | ) |
bool D_Bio_NucleusPedigree::calc_NucLifes_Filtered | ( | ) |
void D_Bio_NucleusPedigree::clear | ( | ) |
bool D_Bio_NucleusPedigree::event_check | ( | int * | t_event, |
int * | y_event, | ||
int * | event_x, | ||
D_Bio_NucleusLife * | pNucLifeTest, | ||
int | type, | ||
int | param | ||
) |
vector< size_t > D_Bio_NucleusPedigree::event_counts | ( | vector< int > | vType_Param, |
int | t_min, | ||
int | y_min, | ||
int | x_greater_than, | ||
bool | filter_use_t_after, | ||
int | filter_param_t_after, | ||
bool | filter_use_t_before, | ||
int | filter_param_t_before, | ||
bool | filter_use_range, | ||
int | filter_param_x_min, | ||
int | filter_param_x_max, | ||
int | filter_param_y_min, | ||
int | filter_param_y_max, | ||
bool | filter_no_excluded | ||
) |
bool D_Bio_NucleusPedigree::event_find | ( | int * | t_found, |
int * | y_found, | ||
int * | x_found, | ||
int | type, | ||
int | param, | ||
int | t_min, | ||
int | y_min, | ||
int | x_greater_than, | ||
bool | filter_use_t_after, | ||
int | filter_param_t_after, | ||
bool | filter_use_t_before, | ||
int | filter_param_t_before, | ||
bool | filter_use_range, | ||
int | filter_param_x_min, | ||
int | filter_param_x_max, | ||
int | filter_param_y_min, | ||
int | filter_param_y_max, | ||
bool | filter_no_excluded | ||
) |
bool D_Bio_NucleusPedigree::event_find | ( | QString * | QS_FoundEventType, |
int * | t_found, | ||
int * | y_found, | ||
int * | x_found, | ||
vector< int > | vType_Search, | ||
vector< int > | vType_Param, | ||
int | t_min, | ||
int | y_min, | ||
int | x_greater_than, | ||
bool | filter_use_t_after, | ||
int | filter_param_t_after, | ||
bool | filter_use_t_before, | ||
int | filter_param_t_before, | ||
bool | filter_use_range, | ||
int | filter_param_x_min, | ||
int | filter_param_x_max, | ||
int | filter_param_y_min, | ||
int | filter_param_y_max, | ||
bool | filter_no_excluded | ||
) |
size_t D_Bio_NucleusPedigree::get_NucleusLifesCount | ( | bool | filtered | ) |
vector< D_Bio_NucleusBlob * > D_Bio_NucleusPedigree::get_pNuclei_FromNucLifes | ( | bool | filtered_only | ) |
D_Bio_NucleusBlob * D_Bio_NucleusPedigree::get_pNucleus | ( | size_t | t, |
size_t | y_mosaic, | ||
size_t | x_mosaic, | ||
size_t | i | ||
) |
D_Bio_NucleusBlob * D_Bio_NucleusPedigree::get_pNucleus | ( | size_t | t, |
size_t | y_mosaic_min, | ||
size_t | x_mosaic_min, | ||
size_t | y_mosaic_max, | ||
size_t | x_mosaic_max, | ||
size_t | y_pos_px, | ||
size_t | x_pos_px | ||
) |
D_Bio_NucleusLife * D_Bio_NucleusPedigree::get_pNucleusLife | ( | size_t | index, |
bool | filtered | ||
) |
QString D_Bio_NucleusPedigree::info | ( | ) |
void D_Bio_NucleusPedigree::info_debug | ( | ) |
void D_Bio_NucleusPedigree::info_popup | ( | ) |
bool D_Bio_NucleusPedigree::initMatching | ( | vector< double > | score_weights, |
vector< double > | score_maxima, | ||
double | shift_limit, | ||
double | max_rel_area_inc_to, | ||
double | max_rel_area_dec_to, | ||
double | max_age, | ||
double | thres_tm1_go1, | ||
double | thres_tm2_go1, | ||
double | thres_tm3_go1, | ||
double | thres_tm1_go2, | ||
double | thres_tm2_go2, | ||
double | thres_tm3_go2, | ||
double | mitosis_mult_go1, | ||
double | mitosis_mult_go2 | ||
) |
bool D_Bio_NucleusPedigree::load_nuclei_data | ( | QString | QS_path_NucDataMaster, |
QString | QS_path_NucData, | ||
size_t | nt, | ||
size_t | ny, | ||
size_t | nx, | ||
bool | forget_contour, | ||
bool | foci_are_part_of_nuc_files | ||
) |
void D_Bio_NucleusPedigree::match_all | ( | ) |
void D_Bio_NucleusPedigree::match_all_go1 | ( | ) |
void D_Bio_NucleusPedigree::match_all_go2 | ( | ) |
bool D_Bio_NucleusPedigree::match_load_data_and_matches | ( | QString | QS_path_NucDataMaster, |
QString | QS_path_NucData, | ||
QString | QS_path_NucLifes, | ||
size_t | nt, | ||
size_t | ny, | ||
size_t | nx, | ||
bool | forget_contour, | ||
bool | foci_are_part_of_nuc_files | ||
) |
bool D_Bio_NucleusPedigree::match_load_matches | ( | QString | QS_path_NucLifes | ) |
bool D_Bio_NucleusPedigree::match_save_results | ( | QString | QS_path | ) |
void D_Bio_NucleusPedigree::match_time_correct_mitosis_go1 | ( | size_t | t | ) |
void D_Bio_NucleusPedigree::match_time_correct_mitosis_go2 | ( | size_t | t | ) |
void D_Bio_NucleusPedigree::match_time_go1 | ( | size_t | t | ) |
void D_Bio_NucleusPedigree::match_time_go2 | ( | size_t | t | ) |
size_t D_Bio_NucleusPedigree::mosaik_index_non_empty_max_x | ( | ) |
size_t D_Bio_NucleusPedigree::mosaik_index_non_empty_max_y | ( | ) |
size_t D_Bio_NucleusPedigree::mosaik_index_non_empty_min_x | ( | ) |
size_t D_Bio_NucleusPedigree::mosaik_index_non_empty_min_y | ( | ) |
size_t D_Bio_NucleusPedigree::nuclei_blob_count | ( | ) |
size_t D_Bio_NucleusPedigree::nuclei_blob_count | ( | size_t | t | ) |
size_t D_Bio_NucleusPedigree::nuclei_blob_count | ( | size_t | t, |
size_t | y, | ||
size_t | x | ||
) |
|
inline |
bool D_Bio_NucleusPedigree::save_analysis | ( | QString | QS_SavePath | ) |
bool D_Bio_NucleusPedigree::set_attrib_filter | ( | size_t | filter_mode, |
size_t | i_filt, | ||
bool | is_active, | ||
size_t | i_att, | ||
size_t | i_comp, | ||
size_t | i_ch, | ||
double | thres_val | ||
) |
bool D_Bio_NucleusPedigree::set_attrib_filter_channels | ( | QStringList | channels_foc, |
QStringList | channels_val | ||
) |
bool D_Bio_NucleusPedigree::set_attrib_filter_path | ( | QDir * | pDir_Save | ) |
bool D_Bio_NucleusPedigree::set_attrib_filter_scaling | ( | ) |
bool D_Bio_NucleusPedigree::set_attrib_filter_ui | ( | QGroupBox * | box_foci, |
QGroupBox * | box_nucblobs, | ||
QGroupBox * | box_nuclifes | ||
) |
|
inline |
|
inline |
void D_Bio_NucleusPedigree::set_FrameBorder_XY | ( | Rect | FrameBorder | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void D_Bio_NucleusPedigree::set_size_time_and_mosaik | ( | size_t | t_size, |
size_t | y_size, | ||
size_t | x_size | ||
) |
void D_Bio_NucleusPedigree::set_time_irradiation | ( | double | t_irr | ) |
|
slot |
int D_Bio_NucleusPedigree::setPedigreeViewer_Plot3D | ( | D_Viewer_Plot_3D * | viewer | ) |
int D_Bio_NucleusPedigree::setPedigreeViewer_Volumetric | ( | D_Viewer_3D * | viewer | ) |
|
inline |
|
inline |
|
inline |
int D_Bio_NucleusPedigree::updatePedigreeView_Plot3D | ( | D_Viewer_Plot_3D * | viewer, |
size_t | points_per_edge, | ||
size_t | t_min = 0 , |
||
size_t | t_max = size_t(INFINITY) , |
||
double | y_min_um = -INFINITY , |
||
double | y_max_um = INFINITY , |
||
double | x_min_um = -INFINITY , |
||
double | x_max_um = INFINITY |
||
) |
int D_Bio_NucleusPedigree::updatePedigreeView_Plot3D | ( | size_t | points_per_edge, |
size_t | t_min = 0 , |
||
size_t | t_max = size_t(INFINITY) , |
||
double | y_min_um = -INFINITY , |
||
double | y_max_um = INFINITY , |
||
double | x_min_um = -INFINITY , |
||
double | x_max_um = INFINITY |
||
) |
int D_Bio_NucleusPedigree::updatePedigreeView_Volumetric | ( | D_Viewer_3D * | viewer, |
size_t | size_volT_px, | ||
size_t | size_volY_px, | ||
size_t | size_volX_px, | ||
size_t | size_Node_px, | ||
size_t | size_Edge_px, | ||
size_t | size_Y_px_original, | ||
size_t | size_X_px_original | ||
) |
int D_Bio_NucleusPedigree::updatePedigreeView_Volumetric | ( | size_t | size_volT_px, |
size_t | size_volY_px, | ||
size_t | size_volX_px, | ||
size_t | size_Node_px, | ||
size_t | size_Edge_px, | ||
size_t | size_Y_px_original, | ||
size_t | size_X_px_original | ||
) |
make sure node and edge sizes are odd
define dimension
init black volume as plot background
cosmetic params
score norming
create threads
start threads
wait for all threads to finish
show plot
finish
const QStringList D_Bio_NucleusPedigree::QSL_EventType |