BubblyYi / Coronary-Artery-Tracking-via-3D-CNN-Classification

The PyTorch re-implement of a 3D CNN Tracker to extract coronary artery centerlines with state-of-the-art (SOTA) performance. (paper: 'Coronary artery centerline extraction in cardiac CT angiography using a CNN-based orientation classifier')
MIT License
187 stars 40 forks source link

Code Clarification #9

Open PJPDQ opened 3 years ago

PJPDQ commented 3 years ago

https://github.com/BubblyYi/Coronary-Artery-Tracking-via-3D-CNN-Classification/blob/976542c070c5e041b87ddb2d75876a4d6acfebfe/data_process_tools/utils.py#L123

Hey,

I am just wondering if you could clarify on how you come up with the 'ellipse' value = 0.1?

Also, for curr_r, I presume it is radius from the point of centerline to the lumen wall --> the annotated 'r' in this diagram (https://github.com/BubblyYi/Coronary-Artery-Tracking-via-3D-CNN-Classification/blob/master/example_images/cnn_tracker.png)?

Where exactly did you specify the direction of the sphere facing and how did you determine on the next 'ball' / 'sphere' for bifurcation case (one branch splits into two branches)?

Thanks, dsg

BubblyYi commented 3 years ago

https://github.com/BubblyYi/Coronary-Artery-Tracking-via-3D-CNN-Classification/blob/976542c070c5e041b87ddb2d75876a4d6acfebfe/data_process_tools/utils.py#L123

Hey,

I am just wondering if you could clarify on how you come up with the 'ellipse' value = 0.1?

Also, for curr_r, I presume it is radius from the point of centerline to the lumen wall --> the annotated 'r' in this diagram (https://github.com/BubblyYi/Coronary-Artery-Tracking-via-3D-CNN-Classification/blob/master/example_images/cnn_tracker.png)?

Where exactly did you specify the direction of the sphere facing and how did you determine on the next 'ball' / 'sphere' for bifurcation case (one branch splits into two branches)?

Thanks, dsg

Hi dsg,

Firstly, the ellipsis is a threshold that we set artificially. It is used to determine the previous point and the next point. These two points are the point where the ball may move next time.

Secondly, curr_ r is the annotation of vessel radius in CAT08 data set

Finally, the direction of the ball's movement is transformed into a classification problem, the function of "find_closer_point_angle()" gives the index corresponding to the direction of the minimum angle. We do not consider the bifurcation of blood vessels in the process of generating data, but only generate data according to the direction of the centerline of a single blood vessel

Best, James

PJPDQ commented 3 years ago

Thank you for your response. I am quite confused on the no offset and offset for creating centerline patches, positive and negative for creating ostia and seed point patches.

Other than the difference in their code and focusing on the functionality or purpose differences, How are they difference among each other?

tiantianaiqi commented 2 years ago

您好,请问您找到数据了么,可以分享给我一份么,邮箱1519045476@qq.com,谢谢您!