tomdoel / pulmonarytoolkit

Lung medical image analysis and visualisation software for Matlab.
GNU General Public License v3.0
85 stars 58 forks source link

Cannot seperate lung lobes while there is a thin or irregular fissure ? #45

Open 1nvestigator opened 3 years ago

1nvestigator commented 3 years ago

First of all, thank you for your amazing work, Good Job ! As I tested for a long time, this program is not able to seperate some lung lobes if fissureness is thin or irregular , 'correctly' ; there are colour overflows in segment > lobes section. How can I improve this, in which '.m or .c' file(s) part , I need to upgrade ?

tomdoel commented 3 years ago

Hi,

Thanks for your feedback!

The lobe segmentation can go wrong for several reasons.

The fisureness is only used in the final step to refine the "initial lobar approximation" which is generated by some of the earlier steps in the algorithm. If the initial lobar approximation result is poor then you may need to fix that first.

One common reason it goes wrong is the automatic airway labelling may get it wrong This airway labelling is used to generate the initial lobar approximation. If the labelling is wrong then the intial approximation will be poor, which will usually lead to a poor final result. The airway labelling can be visualised and corrected on the GUI

I've added a wiki page which explains the steps of the algorithm, and tells you which plugin file runs each step. This gives some brief details on how to correct the airway labelling. If you do want to modify the fissureness filter, the plugin that computes this is PTKFissureness.m - it has a slightly complex code path but the actual filter computation is in PTKComputeFissurenessFromHessianeigenvalues.m.