LzVv123456 / Deep-Reinforced-Tree-Traversal

MIT License
32 stars 4 forks source link

Any example data? #4

Closed journey1234-liu closed 1 year ago

journey1234-liu commented 1 year ago

Thanks for your papar and source code! Are there any example data for reference? By the time I write this issue there is only a place_holder.py under folder 'example_data'. I'm quite interested in how the data is organized and how 'tree_s.txt' and 'initial-point.txt' are written. I'd be very grateful if you could provide some guidance.

LzVv123456 commented 1 year ago

Thanks for your interest in our work. There is an example data in the following link https://drive.google.com/file/d/1yeJIoBALUGasHyFHAijkNILTtjhwfGXx/view?usp=sharing that you can play around.

In general, we are organizing data as a DAG with bifurcation nodes indexed. E.g., (A, B): [(x1,y1,z1), (x2,y2,z2), ... (xn,yn,zn)] will represent a centerline segment from node A to B with n points. ‘initial-point.txt’ includes two manually annotated root nodes (start points where you should initialize the agent) for both left and right coronary arteries.

journey1234-liu commented 1 year ago

Thanks for your information and toy data!

journey1234-liu commented 1 year ago

Thanks for your advice on tracer data preparation! Two problems arise when we prepare our own training data:

  1. How is centerline segmented into edges and nodes of the tree? Is this procedure automatic or manual?
  2. Are there any toy data for discriminator training? We'd be very grateful if you can provide some guidance.
LzVv123456 commented 1 year ago

For Q2, you can also run the code of training the discriminator on the given toy data. For Q1, as stated in the paper, the entire workflow of getting the centerline annotations involves (1) manually annotating coronary artery masks. (2) using the skeletonization method to extract the skeleton from the annotated mask. (3) manually inspect the extracted skeleton and fix the error at the point level. (4) Using a graph library like "NetworkX" to parse the 3D skeleton into nodes and edges (I no longer have the code for preprocessing data, sorry for that).