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_bio_nucleuspedigree.h
Go to the documentation of this file.
1 /************************************
2  * added: 04.01.2021 *
3  * author: David Eilenstein *
4  * contact: D.Eilenstein@gsi.de *
5  * project: ImageD *
6  * facility: GSI Darmstadt, Ger *
7  ************************************/
8 
9 #ifndef D_BIO_NUCLEUSPEDIGREE_H
10 #define D_BIO_NUCLEUSPEDIGREE_H
11 
12 //own
13 #include <d_enum.h>
14 #include <d_stat.h>
15 #include <d_math.h>
16 #include <d_bio_nucleuslife.h>
17 #include <d_bio_nucleusblob.h>
18 #include <d_bio_nucleusimage.h>
19 #include <d_bio_enum.h>
20 #include <d_bio_attribute_filter.h>
21 #include <d_viewer_plot_3d.h>
22 #include <d_viewer_3d.h>
23 
24 //Qt
25 #include <QObject>
26 #include <QFileDialog>
27 #include <QFileInfo>
28 #include <QFileInfoList>
29 #include <QDir>
30 #include <QDateTime>
31 #include <QInputDialog>
32 #include <QMessageBox>
33 
34 //general
35 #include <iostream>
36 #include <sstream>
37 #include <fstream>
38 #include <vector>
39 #include <algorithm>
40 #include <thread>
41 
42 //openCV
43 #include <opencv2/core/core.hpp>
44 #include <opencv2/highgui/highgui.hpp>
45 #include <opencv2/imgproc/imgproc.hpp>
46 
47 //namespaces
48 using namespace std;
49 //using namespace cv; (prohibited because of abigous names with qtdatavisualization)
50 #include <d_opencv_typedefs.h>
51 
52 class D_Bio_NucleusPedigree : public QObject
53 {
54  Q_OBJECT
55 
56 public:
58 
59  void clear();
60 
61  void set_size_time_and_mosaik(size_t t_size, size_t y_size, size_t x_size);
62  void set_time_irradiation(double t_irr);
63  size_t size_T() {return size_time;}
64  size_t size_Y() {return size_mosaik_y;}
65  size_t size_X() {return size_mosaik_x;}
66  Rect rect_RegularRange_px() {return FrameInMarginXY;}
67  size_t nuclei_blob_count(size_t t, size_t y, size_t x);
68  size_t nuclei_blob_count(size_t t);
69  size_t nuclei_blob_count();
70 
71  size_t mosaik_index_non_empty_min_x();
72  size_t mosaik_index_non_empty_max_x();
73  size_t mosaik_index_non_empty_min_y();
74  size_t mosaik_index_non_empty_max_y();
75 
76  QString info();
77  void info_debug();
78  void info_popup();
79 
80  D_Bio_NucleusBlob* get_pNucleus(size_t t, size_t y_mosaic, size_t x_mosaic, size_t i);
81  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);
82  vector<D_Bio_NucleusBlob*> get_pNuclei_FromNucLifes(bool filtered_only);
83 
84  size_t get_NucleusLifesCount(bool filtered);
85  D_Bio_NucleusLife* get_pNucleusLife(size_t index, bool filtered);
86 
87  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);
88  bool add_nucleus_blob(size_t t, size_t y, size_t x, D_Bio_NucleusBlob nuc);
89 
90  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);
91 
92  int setPedigreeViewer_Plot3D( D_Viewer_Plot_3D *viewer);
93  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);
94  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);
95 
96  int setPedigreeViewer_Volumetric( D_Viewer_3D *viewer);
97  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);
98  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);
99 private:
100  static int updatePedigreeView_Volumetric_TimeThread(D_VisDat_Obj *pVD_Target, vector<vector<vector<vector<D_Bio_NucleusBlob>>>> *pvvvvNucsTYXI, double score_range, double score_min, size_t size_Node_px, size_t size_Edge_px, size_t size_Y_px_original, size_t size_X_px_original, Rect frame_legit, size_t t_plane);
101 public:
102 
103  void set_scale_px2um(double scale) {if(scale > 0) scale_px_to_um = scale;}
104  void set_scale_T2h(double scale) {if(scale > 0) scale_t_to_h = scale;}
105  void set_scale_nodes(double scale) {if(scale > 0 && scale <= 1) scale_nodes = scale;}
106  void set_scale_edges(double scale) {if(scale > 0 && scale <= 1) scale_edges = scale;}
107  void set_FrameInMargin_XY(int x_min, int x_max, int y_min, int y_max) {int w = x_max - x_min; int h = y_max - y_min; if(w > 0 && h > 0) set_FrameInMargin_XY(Rect(x_min, y_min, w, h));}
108  void set_FrameInMargin_XY(Rect FrameInRange) {FrameInMarginXY = FrameInRange;}
109  void set_FrameBorder_XY(Rect FrameBorder);
110  void set_earliest_mitoses_allowed(size_t t_earliest) {match_earliest_mitosis_allowed = t_earliest;}
111  void set_channels(QStringList channels_foc, QStringList channels_val) {QSL_Channels_Foci = channels_foc; QSL_Channels_Values = channels_val;}
112 
113  bool set_attrib_filter_ui(QGroupBox* box_foci, QGroupBox* box_nucblobs, QGroupBox* box_nuclifes);
114  bool set_attrib_filter_path(QDir* pDir_Save);
115  bool set_attrib_filter_channels(QStringList channels_foc, QStringList channels_val);
116  bool set_attrib_filter_scaling();
117  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);
118 
119  bool calc_NucLifes();
120  bool calc_NucLifes_Filtered();
121 
122  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_lvl_foc,*/ 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);
123  //vector<double> attrib_data(size_t i_data_point_level, size_t i_attrib_level, size_t i_attrib, size_t ch_val, size_t ch_foc, size_t stat_low, size_t stat_high);
124  vector<double> attrib_nuclife(size_t i_attrib);
125  vector<double> attrib_nucblob(size_t i_attrib, size_t ch_val);
126  vector<double> attrib_foci(size_t i_attrib, size_t ch_val);
127  vector<double> attrib_foci(size_t i_attrib, size_t ch_val, size_t ch_foc);
128 
129  bool save_analysis(QString QS_SavePath);
130 private:
131  bool data_filtered_exists(size_t data_level);
132  bool save_attribs_raw(QDir DIR_SaveMaster);
133  bool save_attribs_raw(QFileInfo FI_SaveCsv, size_t data_level);
134  bool save_attribs_stats_1D(QDir DIR_SaveMaster);
135  bool save_attribs_stats_1D(QFileInfo FI_SaveCsv, size_t data_level);
136  bool save_attribs_stats_2D(QDir DIR_SaveMaster);
137  bool save_attribs_stats_2D_NucLifes(QDir DIR_SaveAttribsStats2D);
138  bool save_attribs_stats_2D_NucBlobs(QDir DIR_SaveAttribsStats2D);
139  bool save_attribs_stats_2D_Foci(QDir DIR_SaveAttribsStats2D, QString subset_name);
140 
141 public:
142  void match_all();
143  void match_all_go1();
144  void match_all_go2();
145 
146  void match_time_go1(size_t t);
147  void match_time_go2(size_t t);
148  void match_time_correct_mitosis_go1(size_t t);
149  void match_time_correct_mitosis_go2(size_t t);
150 
151  bool match_save_results(QString QS_path);
152  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);
153  bool match_load_matches(QString QS_path_NucLifes);
154 
155  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);
156  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);
157  bool event_check(int* t_event, int* y_event, int* event_x, D_Bio_NucleusLife* pNucLifeTest, int type, int param);
158  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);
159 
160 public slots:
161  void SetAttribFilterToNeedUpdate();
162 
163 private:
164 
165  static bool match_save_results_time_thread(vector<vector<vector<vector<D_Bio_NucleusBlob>>>> *pvvvvNucsTYXI, QDir DirSaveMaster, size_t t_thread);
166  static bool load_time_nuclei_data_thread(vector<vector<vector<vector<D_Bio_NucleusBlob>>>> *pvvvvNucsTYXI, QDir DirLoadMaster, QDir DirLoadNucs, size_t t_thread, bool forget_contour, bool foci_are_part_of_nuc_files, int *err);
167  static bool load_time_nuclei_matches_thread(vector<vector<vector<vector<D_Bio_NucleusBlob>>>> *pvvvvNucsTYXI, QDir DirLoadNucLifes, size_t t_thread, int *err);
168 
169  void match_correct_mitosis( size_t t_parents, size_t t_childs, double score_multiplier, bool allow_new_mitosis);
170  void match_times( size_t t_parents, size_t t_childs, double score_thresh, bool allow_new_mitosis);
171 
172  void match_find_possible_matches( vector<vector<double>> *vvPossibleMatches, size_t t_parents, size_t t_childs, double score_thresh, bool allow_new_mitosis);
173  void match_find_possible_mitosis_corrections(vector<vector<double>> *vvPossibleMitosisCorrections, size_t t_parents, size_t t_childs, double score_multiplier, bool allow_new_mitoses);
174 
175  static void match_find_possible_matches_thread(vector<vector<vector<vector<D_Bio_NucleusBlob>>>> *pvvvvNucsTYXI, vector<vector<double>> *vvPossibleMatches, size_t t_parents, size_t t_childs, double score_thresh, bool allow_new_mitosis, vector<size_t> *pvScoreRelevantCriteria, vector<double> *pvScoreWeights, vector<double> *pvScoreMax, double max_area_increase_to_rel, double max_area_decrease_to_rel, double max_shift, size_t y_toProc);
176  static void match_find_possible_mitosis_corrections_thread(vector<vector<vector<vector<D_Bio_NucleusBlob>>>> *pvvvvNucsTYXI, vector<vector<double>> *vvPossibleMitosisCorrections, size_t t_parents, size_t t_childs, double mitosis_score_muliplier, bool allow_new_mitoses, vector<size_t> *pvScoreRelevantCriteria, vector<double> *pvScoreWeights, vector<double> *pvScoreMax, double max_area_increase_to_rel, double max_area_decrease_to_rel, double max_shift, size_t y_toProc);
177 
178  void match_accept_matches(vector<vector<double>> *vvPossibleMatches, bool allow_new_mitosis);
179  void match_accept_mitosis_corrections(vector<vector<double>> *vvPossibleMitosisCorrections, bool allow_new_mitosis);
180 
181  void calc_PlotVol(vector<Point3d> vNodesCoord, vector<Point3d> vEdgeCoordBegins, vector<Point3d> vEdgeCoordEnds, vector<QColor> vNodeColor, vector<QColor> vEdgeColor, int size_T_px, int size_Y_px, int size_X_px, int size_nodes = 3, int size_edge = 1);
182 
183  //viewer
184  D_Viewer_Plot_3D *pViewerPedigree_Plot3D;
185  D_Viewer_3D *pViewerPedigree_Volumetric;
186 
187  //Plot_Volume for volumetric plot
188  D_VisDat_Obj VD_PlotVol;
189 
190  //dimension
191  size_t size_time = 0;
192  size_t size_mosaik_y = 0;
193  size_t size_mosaik_x = 0;
194 
195  //irradiation
196  double time_irradiation = 0;
197 
198  //channels
199  QStringList QSL_Channels_Foci;
200  QStringList QSL_Channels_Values;
201 
202  //data
203  vector<vector<vector<vector<D_Bio_NucleusBlob>>>> vvvvNucBlobs_TYXI;
204  vector<D_Bio_NucleusLife> vNucLifes;
205  vector<D_Bio_NucleusLife> vNucLifes_Filtered;
206 
207  //weights for score calc
208  vector<size_t> vScoreCriteria_Relevant;
209  vector<double> vScoreWeights_Relevant;
210  vector<double> vScoreMaxima_Relevant;
211  double match_thresh_max_area_increase_to = 1.25;
212  double match_thresh_max_area_decrease_to = 0.35;
213  double match_thresh_max_shift = 200;
214  double match_max_age = 35;
215  double match_score_thres_tm1_go1 = 0.50;
216  double match_score_thres_tm2_go1 = 0.55;
217  double match_score_thres_tm3_go1 = 0.60;
218  double match_score_thres_tm1_go2 = 0.20;
219  double match_score_thres_tm2_go2 = 0.25;
220  double match_score_thres_tm3_go2 = 0.30;
221  double match_score_multiplier_mitosis_go1 = 0.20;
222  double match_score_multiplier_mitosis_go2 = 0.70;
223  size_t match_earliest_mitosis_allowed = 0;
224 
225  //scaling XYT to rteal world coords
226  double scale_px_to_um = 0.1;
227  double scale_t_to_h = 1.0;
228  double scale_nodes = 1;
229  double scale_edges = 1;
230 
231  //XY range no border
232  Rect FrameBorderXY = Rect(0, 0, INT_MAX, INT_MAX);
233  Rect FrameInMarginXY = Rect(0, 0, INT_MAX, INT_MAX);
234 
235  //states
236  bool state_ScoreWeightsAndMaxSet = false;
237  bool state_PedigreeViewer_Plot3D_Set = false;
238  bool state_PedigreeViewer_Volumetric_Set = false;
239  bool state_AttribFiltersSet = false;
240  bool state_NucLifesCalced = false;
241  bool state_NucLifesFilteredCalced = false;
242  bool state_NucLifeFilteringRunning = false;
243 
244  //attribute filter
245  D_Bio_Attribute_Filter* pAttribFilter_Foci = nullptr;
246  D_Bio_Attribute_Filter* pAttribFilter_NucBlobs = nullptr;
247  D_Bio_Attribute_Filter* pAttribFilter_NucLifes = nullptr;
248 
249  //match attribs
250  enum MATCH_ATTRIB_INDEX {
251  MATCH_ATTRIB_INDEX_SCORE,
252  MATCH_ATTRIB_INDEX_PARENT_T,
253  MATCH_ATTRIB_INDEX_PARENT_Y,
254  MATCH_ATTRIB_INDEX_PARENT_X,
255  MATCH_ATTRIB_INDEX_PARENT_I,
256  MATCH_ATTRIB_INDEX_CHILD_T,
257  MATCH_ATTRIB_INDEX_CHILD_Y,
258  MATCH_ATTRIB_INDEX_CHILD_X,
259  MATCH_ATTRIB_INDEX_CHILD_I,
260  MATCH_ATTRIB_INDEX_NUMBER_OF
261  };
262 
263 public:
264  enum EVENT_TYPE {
272  EVENT_TYPE_NUMBER_OF
273  };
274  const QStringList QSL_EventType = {
275  "large dist between nuclei",
276  "mitosis",
277  "excluded",
278  "short life (isolated)",
279  "short life (loose start)",
280  "short life (loose end)",
281  "short life (between mitoses)"
282  };
283 };
284 
285 #endif // D_BIO_NUCLEUSPEDIGREE_H
D_Bio_NucleusPedigree::match_save_results
bool match_save_results(QString QS_path)
Definition: d_bio_nucleuspedigree.cpp:2624
QSL_Errors
const QStringList QSL_Errors
Definition: d_enum.h:183
D_Bio_NucleusLife::attribute_is_focus_channel_dependent
static bool attribute_is_focus_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleuslife.cpp:386
D_Bio_NucleusPedigree::set_earliest_mitoses_allowed
void set_earliest_mitoses_allowed(size_t t_earliest)
Definition: d_bio_nucleuspedigree.h:110
ATTRIB_FOC_DETECTED_IN_CH
@ ATTRIB_FOC_DETECTED_IN_CH
Definition: d_bio_enum.h:176
D_Bio_NucleusPedigree::set_scale_T2h
void set_scale_T2h(double scale)
Definition: d_bio_nucleuspedigree.h:104
D_Bio_NucleusBlob::matching_excluded_life
bool matching_excluded_life()
Definition: d_bio_nucleusblob.cpp:1367
ER_okay
@ ER_okay
Definition: d_enum.h:133
D_Bio_NucleusPedigree::calc_NucLifes_Filtered
bool calc_NucLifes_Filtered()
Definition: d_bio_nucleuspedigree.cpp:1227
D_Bio_NucleusPedigree::attrib_nucblob
vector< double > attrib_nucblob(size_t i_attrib, size_t ch_val)
Definition: d_bio_nucleuspedigree.cpp:1520
D_Bio_NucleusPedigree::calc_NucLifes
bool calc_NucLifes()
Definition: d_bio_nucleuspedigree.cpp:1162
D_Bio_NucleusLife::pNuc_member_first
D_Bio_NucleusBlob * pNuc_member_first()
Definition: d_bio_nucleuslife.h:103
D_Bio_NucleusPedigree::match_time_go1
void match_time_go1(size_t t)
Definition: d_bio_nucleuspedigree.cpp:2596
D_Bio_NucleusLife::is_excluded
bool is_excluded()
Definition: d_bio_nucleuslife.cpp:112
D_Bio_NucleusPedigree::size_X
size_t size_X()
Definition: d_bio_nucleuspedigree.h:65
D_Bio_Attribute_Filter::set_ScalePx2Um
bool set_ScalePx2Um(double scale)
Definition: d_bio_attribute_filter.cpp:66
D_VisDat_Dim::size_Y
int size_Y()
Definition: d_visdat_dim.h:60
D_Bio_NucleusBlob::clear_Foci
void clear_Foci()
Definition: d_bio_nucleusblob.h:60
c_STAT_2D_NUMBER_OF
@ c_STAT_2D_NUMBER_OF
Definition: d_enum.h:875
D_Bio_NucleusLife::set_Parent
bool set_Parent(D_Bio_NucleusBlob *nuc_parent)
Definition: d_bio_nucleuslife.h:68
D_Bio_NucleusLife::pNuc_parent
D_Bio_NucleusBlob * pNuc_parent()
Definition: d_bio_nucleuslife.h:97
D_Bio_NucleusBlob::add_Focus
void add_Focus(size_t channel, D_Bio_Focus focus)
Definition: d_bio_nucleusblob.cpp:108
D_Bio_Attribute_Filter::set_SaveDir
bool set_SaveDir(QDir *pDirSave)
Definition: d_bio_attribute_filter.cpp:77
D_Bio_NucleusPedigree::info_popup
void info_popup()
Definition: d_bio_nucleuspedigree.cpp:312
D_QS_Version
const QString D_QS_Version
Definition: d_enum.h:18
c_DIM_X
@ c_DIM_X
Definition: d_enum.h:235
d_math.h
D_VisDat_Dim::size_T
int size_T()
Definition: d_visdat_dim.h:62
D_Bio_NucleusPedigree::set_time_irradiation
void set_time_irradiation(double t_irr)
Definition: d_bio_nucleuspedigree.cpp:39
D_Bio_NucleusPedigree::match_time_go2
void match_time_go2(size_t t)
Definition: d_bio_nucleuspedigree.cpp:2603
Point2f
cv::Point2f Point2f
Definition: d_opencv_typedefs.h:37
D_Bio_NucleusPedigree::set_attrib_filter_ui
bool set_attrib_filter_ui(QGroupBox *box_foci, QGroupBox *box_nucblobs, QGroupBox *box_nuclifes)
Definition: d_bio_nucleuspedigree.cpp:1080
c_VIEWER_3D_ALPHA_MAX_IS_TRANSPARENT
@ c_VIEWER_3D_ALPHA_MAX_IS_TRANSPARENT
Definition: d_enum.h:491
d_bio_enum.h
D_Bio_NucleusPedigree::get_pNuclei_FromNucLifes
vector< D_Bio_NucleusBlob * > get_pNuclei_FromNucLifes(bool filtered_only)
Definition: d_bio_nucleuspedigree.cpp:380
D_Bio_Focus::attribute_is_focus_channel_dependent
static bool attribute_is_focus_channel_dependent(size_t i_attrib)
Definition: d_bio_focus.cpp:125
c_DIM_T
@ c_DIM_T
Definition: d_enum.h:238
D_Math::Smaller_3D
static bool Smaller_3D(double x0, double x1, double x2, double y0, double y1, double y2)
Definition: d_math.cpp:1407
D_Bio_NucleusPedigree::size_T
size_t size_T()
Definition: d_bio_nucleuspedigree.h:63
D_Bio_NucleusBlob::time_index
size_t time_index()
Definition: d_bio_nucleusblob.h:126
D_Viewer_Plot_3D::plot_Tree
int plot_Tree(vector< Point3d > vNodesCoord, vector< Point3d > vEdgeCoordBegins, vector< Point3d > vEdgeCoordEnds, vector< QColor > vNodeColor, vector< QColor > vEdgeColor, size_t shadow, bool background, bool grid, bool smooth, QString axis_x, QString axis_y, QString axis_z, size_t points_per_edge=5, double size_nodes=0.1, double size_edge=0.05, bool called_internally=false)
Definition: d_viewer_plot_3d.cpp:838
D_Bio_NucleusPedigree::set_FrameBorder_XY
void set_FrameBorder_XY(Rect FrameBorder)
Definition: d_bio_nucleuspedigree.cpp:1069
D_Bio_NucleusBlob::matching_Child2
D_Bio_NucleusBlob * matching_Child2()
Definition: d_bio_nucleusblob.h:179
d_bio_nucleuslife.h
ATTRIB_FILTER_MODE_FOCI
@ ATTRIB_FILTER_MODE_FOCI
Definition: d_bio_enum.h:346
D_Bio_NucleusPedigree::setPedigreeViewer_Plot3D
int setPedigreeViewer_Plot3D(D_Viewer_Plot_3D *viewer)
Definition: d_bio_nucleuspedigree.cpp:621
D_Bio_NucleusPedigree::event_find
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)
Definition: d_bio_nucleuspedigree.cpp:2714
D_Bio_NucleusPedigree::get_pNucleusLife
D_Bio_NucleusLife * get_pNucleusLife(size_t index, bool filtered)
Definition: d_bio_nucleuspedigree.cpp:427
D_Bio_NucleusLife::has_MitosisEnd
bool has_MitosisEnd()
Definition: d_bio_nucleuslife.h:92
ER_size_missmatch
@ ER_size_missmatch
Definition: d_enum.h:141
D_Bio_NucleusPedigree::EVENT_TYPE_SHORT_LIFE_LOOSE_END
@ EVENT_TYPE_SHORT_LIFE_LOOSE_END
Definition: d_bio_nucleuspedigree.h:270
D_Bio_NucleusPedigree::EVENT_TYPE_NUMBER_OF
@ EVENT_TYPE_NUMBER_OF
Definition: d_bio_nucleuspedigree.h:272
D_Bio_NucleusBlob::get_FociChannels
size_t get_FociChannels()
Definition: d_bio_nucleusblob.h:67
D_Bio_NucleusLife::add_Member
bool add_Member(D_Bio_NucleusBlob nuc)
Definition: d_bio_nucleuslife.cpp:27
Rect
cv::Rect Rect
Definition: d_opencv_typedefs.h:65
NUC_LIFE_FILE_SECTION_PARENT
@ NUC_LIFE_FILE_SECTION_PARENT
Definition: d_bio_enum.h:97
c_DIM_Y
@ c_DIM_Y
Definition: d_enum.h:236
D_Bio_NucleusPedigree::clear
void clear()
Definition: d_bio_nucleuspedigree.cpp:16
ER_UiNotInit
@ ER_UiNotInit
Definition: d_enum.h:177
c_COMPARE_EQUAL
@ c_COMPARE_EQUAL
Definition: d_enum.h:1235
D_Bio_NucleusPedigree::initMatching
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)
Definition: d_bio_nucleuspedigree.cpp:524
D_Bio_NucleusPedigree::attrib_nuclife
vector< double > attrib_nuclife(size_t i_attrib)
Definition: d_bio_nucleuspedigree.cpp:1497
D_Bio_NucleusBlob::matching_foundNoChild
bool matching_foundNoChild()
Definition: d_bio_nucleusblob.h:188
Vec3b
cv::Vec3b Vec3b
Definition: d_opencv_typedefs.h:51
D_Bio_NucleusLife::set_Child2
bool set_Child2(D_Bio_NucleusBlob *nuc_child2)
Definition: d_bio_nucleuslife.h:70
D_Bio_NucleusLife::has_NoMitosisEnd
bool has_NoMitosisEnd()
Definition: d_bio_nucleuslife.h:93
D_Bio_NucleusLife::pNuc_member
D_Bio_NucleusBlob * pNuc_member(size_t i)
Definition: d_bio_nucleuslife.h:102
QSL_Attrib_Nuc
const QStringList QSL_Attrib_Nuc
Definition: d_bio_enum.h:246
ER_file_not_exist
@ ER_file_not_exist
Definition: d_enum.h:161
D_Viewer_3D
Definition: d_viewer_3d.h:85
D_Bio_NucleusBlob::set_time_index
void set_time_index(size_t t)
Definition: d_bio_nucleusblob.h:128
DATA_LEVEL_NUCBLOB_ATTRIB
@ DATA_LEVEL_NUCBLOB_ATTRIB
Definition: d_bio_enum.h:385
D_Bio_NucleusBlob::set_FociChannels
void set_FociChannels(size_t channels)
Definition: d_bio_nucleusblob.h:56
D_Bio_NucleusBlob::get_pFocus
D_Bio_Focus * get_pFocus(size_t channel, size_t index)
Definition: d_bio_nucleusblob.h:72
D_Bio_Focus
Definition: d_bio_focus.h:48
DATA_LEVEL_NUCLIFE_STAT_NUCBLOB
@ DATA_LEVEL_NUCLIFE_STAT_NUCBLOB
Definition: d_bio_enum.h:373
D_Bio_NucleusLife::has_Child1
bool has_Child1()
Definition: d_bio_nucleuslife.h:77
DATAPOINT_LEVEL_NUMBER_OF
@ DATAPOINT_LEVEL_NUMBER_OF
Definition: d_bio_enum.h:362
D_Bio_NucleusPedigree::setPedigreeViewer_Volumetric
int setPedigreeViewer_Volumetric(D_Viewer_3D *viewer)
Definition: d_bio_nucleuspedigree.cpp:603
DATAPOINT_LEVEL_FOC
@ DATAPOINT_LEVEL_FOC
Definition: d_bio_enum.h:361
D_Bio_NucleusPedigree::mosaik_index_non_empty_min_y
size_t mosaik_index_non_empty_min_y()
Definition: d_bio_nucleuspedigree.cpp:112
NUC_LIFE_FILE_SECTION_TAGS
@ NUC_LIFE_FILE_SECTION_TAGS
Definition: d_bio_enum.h:100
D_Bio_NucleusLife::set_FrameBorder_XY
void set_FrameBorder_XY(Rect FrameBorder)
Definition: d_bio_nucleuslife.h:64
D_Viewer_3D::set_VisDat
int set_VisDat(D_VisDat_Obj *pVD_toShow)
Definition: d_viewer_3d.cpp:325
D_Bio_NucleusPedigree::mosaik_index_non_empty_min_x
size_t mosaik_index_non_empty_min_x()
Definition: d_bio_nucleuspedigree.cpp:84
D_VisDat_Dim
The D_VisDat_Dim class Represents a 6D volume.
Definition: d_visdat_dim.h:49
D_Bio_NucleusBlob::matching_Child1
D_Bio_NucleusBlob * matching_Child1()
Definition: d_bio_nucleusblob.h:178
D_Bio_NucleusBlob::matching_set_excluded
void matching_set_excluded(bool exclude)
Definition: d_bio_nucleusblob.h:158
D_Bio_NucleusBlob::matching_foundExactlyOneChild
bool matching_foundExactlyOneChild()
Definition: d_bio_nucleusblob.h:192
ATTRIB_NUC_NUMBER_OF
@ ATTRIB_NUC_NUMBER_OF
Definition: d_bio_enum.h:244
D_Bio_NucleusBlob::matching_Score_Parent
double matching_Score_Parent()
Definition: d_bio_nucleusblob.h:148
D_QS_Release
const QString D_QS_Release
Definition: d_enum.h:19
D_Stat::Function_SingleStat
static function< double(vector< double >)> Function_SingleStat(int stat)
Definition: d_stat.cpp:683
D_Bio_NucleusPedigree::EVENT_TYPE_LARGE_DIST_BETWEEN_NUC
@ EVENT_TYPE_LARGE_DIST_BETWEEN_NUC
Definition: d_bio_nucleuspedigree.h:265
DATA_LEVEL_NUCLIFE_STAT_STAT_FOC
@ DATA_LEVEL_NUCLIFE_STAT_STAT_FOC
Definition: d_bio_enum.h:374
DATAPOINT_LEVEL_NUCLIFE
@ DATAPOINT_LEVEL_NUCLIFE
Definition: d_bio_enum.h:359
D_Bio_NucleusPedigree::set_channels
void set_channels(QStringList channels_foc, QStringList channels_val)
Definition: d_bio_nucleuspedigree.h:111
D_Bio_NucleusBlob::get_FociCount
size_t get_FociCount(size_t channel)
Definition: d_bio_nucleusblob.h:69
D_Bio_NucleusBlob::attribute_is_focus_channel_dependent
static bool attribute_is_focus_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleusblob.cpp:244
D_VisDat_Obj
The D_VisDat_Obj class Represents a 6D image.
Definition: d_visdat_obj.h:51
D_Bio_NucleusImage::get_nuclei_count
size_t get_nuclei_count()
Definition: d_bio_nucleusimage.h:82
Point3d
cv::Point3d Point3d
Definition: d_opencv_typedefs.h:41
ATTRIB_NUC_SHIFT_PX
@ ATTRIB_NUC_SHIFT_PX
Definition: d_bio_enum.h:218
D_Bio_NucleusLife::attrib_nuclife
double attrib_nuclife(size_t i_attrib_nuclife)
Definition: d_bio_nucleuslife.cpp:332
D_VisDat_Proc::Create_VD_Single_Constant
static int Create_VD_Single_Constant(D_VisDat_Obj *pVD_New, D_VisDat_Dim dim_new, int type=CV_8UC1, double value=0)
Definition: d_visdat_proc.cpp:1403
D_Bio_NucleusImage::get_nucleus
D_Bio_NucleusBlob get_nucleus(size_t nuc)
Definition: d_bio_nucleusimage.h:93
ATTRIB_NUCLIFE_AGE
@ ATTRIB_NUCLIFE_AGE
Definition: d_bio_enum.h:289
Point
cv::Point Point
Definition: d_opencv_typedefs.h:35
D_Bio_NucleusPedigree::info
QString info()
Definition: d_bio_nucleuspedigree.cpp:140
D_Bio_NucleusBlob::matching_ChildFavorite
D_Bio_NucleusBlob * matching_ChildFavorite()
Definition: d_bio_nucleusblob.h:180
D_VisDat_Obj::pMA_full
Mat * pMA_full()
Definition: d_visdat_obj.h:61
D_Bio_NucleusBlob::get_path_absolute_loaded_from
QString get_path_absolute_loaded_from()
Definition: d_bio_nucleusblob.h:97
D_Bio_NucleusImage::load
int load(QString path, bool foci_are_part_of_nuc_files)
Definition: d_bio_nucleusimage.cpp:486
D_Bio_NucleusPedigree::set_attrib_filter_scaling
bool set_attrib_filter_scaling()
Definition: d_bio_nucleuspedigree.cpp:1128
D_Bio_NucleusPedigree::D_Bio_NucleusPedigree
D_Bio_NucleusPedigree()
Definition: d_bio_nucleuspedigree.cpp:11
D_Bio_NucleusBlob::matching_parent_isMitosis
bool matching_parent_isMitosis()
Definition: d_bio_nucleusblob.h:195
D_Bio_NucleusPedigree::EVENT_TYPE_EXCLUDED
@ EVENT_TYPE_EXCLUDED
Definition: d_bio_nucleuspedigree.h:267
ATTRIB_NUCLIFE_NUMBER_OF
@ ATTRIB_NUCLIFE_NUMBER_OF
Definition: d_bio_enum.h:314
D_Bio_NucleusPedigree::EVENT_TYPE
EVENT_TYPE
Definition: d_bio_nucleuspedigree.h:264
c_VOLUME_XYT
@ c_VOLUME_XYT
Definition: d_enum.h:330
D_Bio_NucleusLife::has_MitosisStart
bool has_MitosisStart()
Definition: d_bio_nucleuslife.h:90
D_Bio_NucleusBlob::matching_excluded_life_time
int matching_excluded_life_time()
Definition: d_bio_nucleusblob.cpp:1372
d_bio_nucleuspedigree.h
D_Bio_NucleusPedigree::event_check
bool event_check(int *t_event, int *y_event, int *event_x, D_Bio_NucleusLife *pNucLifeTest, int type, int param)
Definition: d_bio_nucleuspedigree.cpp:2847
D_Bio_Attribute_Filter::accept_Foc
bool accept_Foc(D_Bio_Focus *pFoc)
Definition: d_bio_attribute_filter.cpp:126
ATTRIB_FILTER_MODE_NUC_BLOB
@ ATTRIB_FILTER_MODE_NUC_BLOB
Definition: d_bio_enum.h:347
D_Bio_NucleusPedigree::EVENT_TYPE_SHORT_LIFE_BETWEEN_MITOSES
@ EVENT_TYPE_SHORT_LIFE_BETWEEN_MITOSES
Definition: d_bio_nucleuspedigree.h:271
D_Bio_NucleusPedigree::mosaik_index_non_empty_max_x
size_t mosaik_index_non_empty_max_x()
Definition: d_bio_nucleuspedigree.cpp:98
D_Bio_NucleusLife::set_ScalePx2Um
bool set_ScalePx2Um(double scale)
Definition: d_bio_nucleuslife.cpp:16
D_Bio_NucleusImage
Definition: d_bio_nucleusimage.h:50
D_Bio_NucleusPedigree::set_scale_px2um
void set_scale_px2um(double scale)
Definition: d_bio_nucleuspedigree.h:103
D_Bio_NucleusPedigree::match_load_data_and_matches
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)
Definition: d_bio_nucleuspedigree.cpp:2649
D_Bio_NucleusBlob
Definition: d_bio_nucleusblob.h:46
D_Bio_NucleusBlob::set_time_irradiation
void set_time_irradiation(double t)
Definition: d_bio_nucleusblob.h:129
D_Bio_NucleusPedigree::match_all_go1
void match_all_go1()
Definition: d_bio_nucleuspedigree.cpp:2584
D_Bio_NucleusLife::pNuc_child1
D_Bio_NucleusBlob * pNuc_child1()
Definition: d_bio_nucleuslife.h:98
QSL_DatapointLevel
const QStringList QSL_DatapointLevel
Definition: d_bio_enum.h:364
D_Bio_Focus::attribute_is_value_channel_dependent
static bool attribute_is_value_channel_dependent(size_t i_attrib)
Definition: d_bio_focus.cpp:107
D_Bio_NucleusBlob::matching_Parent
D_Bio_NucleusBlob * matching_Parent()
Definition: d_bio_nucleusblob.h:181
D_Bio_NucleusPedigree::match_time_correct_mitosis_go2
void match_time_correct_mitosis_go2(size_t t)
Definition: d_bio_nucleuspedigree.cpp:2617
D_Bio_NucleusPedigree::rect_RegularRange_px
Rect rect_RegularRange_px()
Definition: d_bio_nucleuspedigree.h:66
D_VisDat_Dim::size_X
int size_X()
Definition: d_visdat_dim.h:59
D_Bio_Focus::set_pNucOwner
void set_pNucOwner(D_Bio_NucleusBlob *owner)
Definition: d_bio_focus.h:64
D_Bio_NucleusBlob::matching_isNoMitosis
bool matching_isNoMitosis()
Definition: d_bio_nucleusblob.h:190
D_Bio_NucleusLife::has_NoMitosisStart
bool has_NoMitosisStart()
Definition: d_bio_nucleuslife.h:91
D_Bio_NucleusPedigree::EVENT_TYPE_MITOSIS
@ EVENT_TYPE_MITOSIS
Definition: d_bio_nucleuspedigree.h:266
D_Bio_Attribute_Filter::set_channels
bool set_channels(QStringList channels_foc, QStringList channels_val)
Definition: d_bio_attribute_filter.cpp:50
D_Bio_NucleusBlob::forget_contour_and_calc_feats
void forget_contour_and_calc_feats()
Definition: d_bio_nucleusblob.h:115
D_Bio_NucleusLife::set_Child1
bool set_Child1(D_Bio_NucleusBlob *nuc_child1)
Definition: d_bio_nucleuslife.h:69
D_Bio_Attribute_Filter::set_filter
bool set_filter(size_t i_filt, bool is_active, size_t i_att, size_t i_comp, size_t i_ch, double thres_val)
Definition: d_bio_attribute_filter.cpp:89
D_Bio_NucleusPedigree::set_attrib_filter
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)
Definition: d_bio_nucleuspedigree.cpp:1140
D_Bio_NucleusPedigree::match_load_matches
bool match_load_matches(QString QS_path_NucLifes)
Definition: d_bio_nucleuspedigree.cpp:2660
D_Bio_NucleusPedigree::event_counts
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)
Definition: d_bio_nucleuspedigree.cpp:2959
D_Bio_NucleusLife::pNuc_member_last
D_Bio_NucleusBlob * pNuc_member_last()
Definition: d_bio_nucleuslife.h:104
D_Bio_Focus::attribute
double attribute(size_t i_attrib, size_t ch_val, double scale_px2um)
Definition: d_bio_focus.cpp:72
D_Bio_NucleusLife::members_count
size_t members_count()
Definition: d_bio_nucleuslife.h:108
ER_size_bad
@ ER_size_bad
Definition: d_enum.h:140
NUC_LIFE_FILE_SECTION_MEMBERS
@ NUC_LIFE_FILE_SECTION_MEMBERS
Definition: d_bio_enum.h:98
DATA_LEVEL_NUCBLOB_STAT_FOC
@ DATA_LEVEL_NUCBLOB_STAT_FOC
Definition: d_bio_enum.h:386
D_Bio_NucleusBlob::centroid
Point2f centroid()
Definition: d_bio_nucleusblob.h:120
D_Bio_NucleusPedigree::match_all_go2
void match_all_go2()
Definition: d_bio_nucleuspedigree.cpp:2590
D_Bio_NucleusBlob::matching_RemoveChild
bool matching_RemoveChild(D_Bio_NucleusBlob *nuc_remove_child)
Definition: d_bio_nucleusblob.cpp:1333
NUC_LIFE_FILE_SECTION_PATH_INFO
@ NUC_LIFE_FILE_SECTION_PATH_INFO
Definition: d_bio_enum.h:96
D_Bio_Attribute_Filter::accept_NucBlob
bool accept_NucBlob(D_Bio_NucleusBlob *pNucBlob)
Definition: d_bio_attribute_filter.cpp:147
NUC_LIFE_FILE_SECTION_NUMBER_OF
@ NUC_LIFE_FILE_SECTION_NUMBER_OF
Definition: d_bio_enum.h:102
D_Bio_NucleusBlob::matching_SetAsParent
void matching_SetAsParent(D_Bio_NucleusBlob *nuc_set_parent, double score)
Definition: d_bio_nucleusblob.cpp:1316
D_Bio_NucleusPedigree::QSL_EventType
const QStringList QSL_EventType
Definition: d_bio_nucleuspedigree.h:274
ATTRIB_FILTER_MODE_NUC_LIFE
@ ATTRIB_FILTER_MODE_NUC_LIFE
Definition: d_bio_enum.h:348
D_Bio_NucleusPedigree::match_all
void match_all()
Definition: d_bio_nucleuspedigree.cpp:2578
SCORE_SHIFT
@ SCORE_SHIFT
Definition: d_bio_enum.h:107
D_Bio_NucleusLife::set_FrameInMargin_XY
void set_FrameInMargin_XY(int x_min, int x_max, int y_min, int y_max)
Definition: d_bio_nucleuslife.h:62
d_viewer_3d.h
D_Bio_NucleusPedigree::get_NucleusLifesCount
size_t get_NucleusLifesCount(bool filtered)
Definition: d_bio_nucleuspedigree.cpp:409
QSL_Attrib_NucLife
const QStringList QSL_Attrib_NucLife
Definition: d_bio_enum.h:316
D_Viewer_3D::Set_AlphaMode
void Set_AlphaMode(size_t alpha_mode)
Definition: d_viewer_3d.h:128
D_Bio_Attribute_Filter
Definition: d_bio_attribute_filter.h:61
D_Bio_NucleusPedigree
Definition: d_bio_nucleuspedigree.h:53
D_Bio_NucleusPedigree::save_analysis
bool save_analysis(QString QS_SavePath)
Definition: d_bio_nucleuspedigree.cpp:1589
DATA_LEVEL_NUCLIFE_ATTRIB
@ DATA_LEVEL_NUCLIFE_ATTRIB
Definition: d_bio_enum.h:372
D_Bio_NucleusLife::has_Child2
bool has_Child2()
Definition: d_bio_nucleuslife.h:78
D_Math::Greater_3D
static bool Greater_3D(double x0, double x1, double x2, double y0, double y1, double y2)
Definition: d_math.cpp:1431
D_Viewer_Plot_3D
Definition: d_viewer_plot_3d.h:69
D_Bio_NucleusPedigree::set_scale_edges
void set_scale_edges(double scale)
Definition: d_bio_nucleuspedigree.h:106
D_Bio_NucleusBlob::get_path_relative
QString get_path_relative()
Definition: d_bio_nucleusblob.h:95
D_Bio_NucleusBlob::matching_TypeColor
QColor matching_TypeColor(Rect FrameNotNearBorder, double t_begin, double t_end)
Definition: d_bio_nucleusblob.cpp:1492
D_Bio_NucleusPedigree::set_FrameInMargin_XY
void set_FrameInMargin_XY(int x_min, int x_max, int y_min, int y_max)
Definition: d_bio_nucleuspedigree.h:107
ATTRIB_FOC_NUMBER_OF
@ ATTRIB_FOC_NUMBER_OF
Definition: d_bio_enum.h:177
D_Bio_NucleusPedigree::get_pNucleus
D_Bio_NucleusBlob * get_pNucleus(size_t t, size_t y_mosaic, size_t x_mosaic, size_t i)
Definition: d_bio_nucleuspedigree.cpp:320
QSL_Attrib_Foc
const QStringList QSL_Attrib_Foc
Definition: d_bio_enum.h:179
d_opencv_typedefs.h
D_Bio_NucleusBlob::matching_foundParent
bool matching_foundParent()
Definition: d_bio_nucleusblob.h:186
D_Bio_NucleusBlob::is_path_relative
bool is_path_relative(QString path_rel)
Definition: d_bio_nucleusblob.h:98
D_Bio_NucleusBlob::matching_SetAsChild
void matching_SetAsChild(D_Bio_NucleusBlob *nuc_set_child, double score)
Definition: d_bio_nucleusblob.cpp:1293
D_VisDat_Obj::pDim
D_VisDat_Dim * pDim()
Definition: d_visdat_obj.h:73
D_Bio_NucleusImage::set_OffsetMosaicGrid
void set_OffsetMosaicGrid(Point OffsetMosaicGrid)
Definition: d_bio_nucleusimage.h:68
D_Bio_NucleusPedigree::set_attrib_filter_path
bool set_attrib_filter_path(QDir *pDir_Save)
Definition: d_bio_nucleuspedigree.cpp:1104
QSL_StatList2D
const QStringList QSL_StatList2D
Definition: d_enum.h:877
d_viewer_plot_3d.h
QSL_StatList
const QStringList QSL_StatList
Definition: d_enum.h:797
Point3i
cv::Point3i Point3i
Definition: d_opencv_typedefs.h:39
D_Bio_Attribute_Filter::set_filter_mode
bool set_filter_mode(size_t mode)
Definition: d_bio_attribute_filter.cpp:35
D_Bio_NucleusLife::attribute_is_value_channel_dependent
static bool attribute_is_value_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleuslife.cpp:400
D_Bio_NucleusBlob::matching_foundAtMostOneChild
bool matching_foundAtMostOneChild()
Definition: d_bio_nucleusblob.h:189
D_Bio_NucleusPedigree::EVENT_TYPE_SHORT_LIFE_ISOLATED
@ EVENT_TYPE_SHORT_LIFE_ISOLATED
Definition: d_bio_nucleuspedigree.h:268
d_enum.h
D_Bio_NucleusBlob::dist2contour
double dist2contour(Point2f point)
Definition: d_bio_nucleusblob.h:116
d_bio_attribute_filter.h
c_STAT_NUMBER_OF_STATS
@ c_STAT_NUMBER_OF_STATS
Definition: d_enum.h:795
D_Bio_NucleusPedigree::SetAttribFilterToNeedUpdate
void SetAttribFilterToNeedUpdate()
Definition: d_bio_nucleuspedigree.cpp:3029
D_Bio_NucleusBlob::matching_setTriedToMatchAtLeastOnce
void matching_setTriedToMatchAtLeastOnce(bool tried)
Definition: d_bio_nucleusblob.h:207
D_Bio_NucleusLife::set_time_irradiation
void set_time_irradiation(double t_irr)
Definition: d_bio_nucleuslife.h:66
d_bio_nucleusblob.h
D_Bio_NucleusPedigree::attrib_foci
vector< double > attrib_foci(size_t i_attrib, size_t ch_val)
Definition: d_bio_nucleuspedigree.cpp:1543
Vec
cv::Vec< T, N > Vec
Definition: d_opencv_typedefs.h:44
NUC_LIFE_FILE_SECTION_CHILDS
@ NUC_LIFE_FILE_SECTION_CHILDS
Definition: d_bio_enum.h:99
D_Bio_NucleusPedigree::load_nuclei_data
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)
Definition: d_bio_nucleuspedigree.cpp:437
D_Bio_NucleusPedigree::updatePedigreeView_Plot3D
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)
Definition: d_bio_nucleuspedigree.cpp:635
D_Bio_NucleusPedigree::size_Y
size_t size_Y()
Definition: d_bio_nucleuspedigree.h:64
QS_NucLifeTag_Excluded
const QString QS_NucLifeTag_Excluded
Definition: d_bio_enum.h:104
D_Bio_NucleusPedigree::EVENT_TYPE_SHORT_LIFE_LOOSE_START
@ EVENT_TYPE_SHORT_LIFE_LOOSE_START
Definition: d_bio_nucleuspedigree.h:269
D_Viewer_3D::Set_Volume
void Set_Volume(size_t volume_index)
Definition: d_viewer_3d.h:126
D_Bio_NucleusPedigree::attrib_data
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)
Definition: d_bio_nucleuspedigree.cpp:1348
D_Bio_NucleusBlob::matching_isMitosis
bool matching_isMitosis()
Definition: d_bio_nucleusblob.h:193
D_Bio_NucleusPedigree::nuclei_blob_count
size_t nuclei_blob_count()
Definition: d_bio_nucleuspedigree.cpp:75
D_Bio_NucleusBlob::matching_Score
double matching_Score(D_Bio_NucleusBlob *nuc_calc_score, vector< size_t > *pvScoreRelevantCriteria, vector< double > *pvScoreWeights, vector< double > *pvScoreMax, double max_area_increase_to_rel, double max_area_decrease_to_rel, double max_shift)
Definition: d_bio_nucleusblob.cpp:1156
D_Bio_NucleusBlob::set_path_absolute
bool set_path_absolute(QString path_abs, QDir master_dir)
Definition: d_bio_nucleusblob.cpp:960
D_Bio_NucleusPedigree::mosaik_index_non_empty_max_y
size_t mosaik_index_non_empty_max_y()
Definition: d_bio_nucleuspedigree.cpp:126
D_Bio_NucleusLife::set_sizeTime
void set_sizeTime(size_t t_size)
Definition: d_bio_nucleuslife.h:65
D_Bio_Attribute_Filter::accept_NucLife
bool accept_NucLife(D_Bio_NucleusLife *pNucLife)
Definition: d_bio_attribute_filter.cpp:168
D_Bio_NucleusPedigree::set_attrib_filter_channels
bool set_attrib_filter_channels(QStringList channels_foc, QStringList channels_val)
Definition: d_bio_nucleuspedigree.cpp:1116
SCORE_NUMBER_OF
@ SCORE_NUMBER_OF
Definition: d_bio_enum.h:117
D_Bio_NucleusBlob::attribute_is_value_channel_dependent
static bool attribute_is_value_channel_dependent(size_t i_attrib)
Definition: d_bio_nucleusblob.cpp:226
DATAPOINT_LEVEL_NUCBLOB
@ DATAPOINT_LEVEL_NUCBLOB
Definition: d_bio_enum.h:360
D_Bio_NucleusLife::pNuc_child2
D_Bio_NucleusBlob * pNuc_child2()
Definition: d_bio_nucleuslife.h:99
c_VIEWER_PLOT_3D_SHADOW_NONE
@ c_VIEWER_PLOT_3D_SHADOW_NONE
Definition: d_enum.h:554
D_Viewer_3D::Set_backgroundColor
void Set_backgroundColor(QColor color)
Definition: d_viewer_3d.h:127
QSL_NucLifeFileSections
const QStringList QSL_NucLifeFileSections
Definition: d_bio_enum.h:87
D_Bio_NucleusPedigree::info_debug
void info_debug()
Definition: d_bio_nucleuspedigree.cpp:208
D_Bio_NucleusBlob::matching_foundNoParent
bool matching_foundNoParent()
Definition: d_bio_nucleusblob.h:187
D_Bio_NucleusPedigree::updatePedigreeView_Volumetric
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)
Definition: d_bio_nucleuspedigree.cpp:759
D_Bio_NucleusLife::pNuc_excluded
D_Bio_NucleusBlob * pNuc_excluded()
Definition: d_bio_nucleuslife.h:106
D_Bio_NucleusLife
Definition: d_bio_nucleuslife.h:45
D_Stat::Calc_Stats
static int Calc_Stats(vector< double > *v_stats, vector< double > v_data, bool calc_sorted)
Definition: d_stat.cpp:16
D_Bio_NucleusLife::has_Parent
bool has_Parent()
Definition: d_bio_nucleuslife.h:76
D_Bio_NucleusPedigree::set_FrameInMargin_XY
void set_FrameInMargin_XY(Rect FrameInRange)
Definition: d_bio_nucleuspedigree.h:108
SCORE_AREA
@ SCORE_AREA
Definition: d_bio_enum.h:108
D_Bio_Attribute_Filter::filter_inactive_1st
size_t filter_inactive_1st()
Definition: d_bio_attribute_filter.cpp:117
D_Bio_NucleusPedigree::set_size_time_and_mosaik
void set_size_time_and_mosaik(size_t t_size, size_t y_size, size_t x_size)
Definition: d_bio_nucleuspedigree.cpp:25
d_bio_nucleusimage.h
D_Bio_NucleusBlob::attribute
double attribute(size_t i_attrib, size_t ch_val, double scale_px2um)
Definition: d_bio_nucleusblob.cpp:116
D_Bio_NucleusPedigree::match_time_correct_mitosis_go1
void match_time_correct_mitosis_go1(size_t t)
Definition: d_bio_nucleuspedigree.cpp:2610
D_Bio_NucleusPedigree::add_nucleus_blob
bool add_nucleus_blob(size_t t, size_t y, size_t x, D_Bio_NucleusBlob nuc)
Definition: d_bio_nucleuspedigree.cpp:504
ER_index_out_of_range
@ ER_index_out_of_range
Definition: d_enum.h:146
NUC_LIFE_FILE_SECTION_END
@ NUC_LIFE_FILE_SECTION_END
Definition: d_bio_enum.h:101
D_Bio_NucleusPedigree::set_scale_nodes
void set_scale_nodes(double scale)
Definition: d_bio_nucleuspedigree.h:105
D_Bio_NucleusBlob::matching_HasAncestorInRange
bool matching_HasAncestorInRange(size_t t_oldest, double y_min_px, double y_max_px, double x_min_px, double x_max_px)
Definition: d_bio_nucleusblob.cpp:1531
d_stat.h
D_Stat::Calc_Stats_2D
static int Calc_Stats_2D(vector< double > *v_stats, vector< double > v_data_x, vector< double > v_data_y)
Definition: d_stat.cpp:348
ER_empty
@ ER_empty
Definition: d_enum.h:135