rbumm / SlicerLungCTAnalyzer

This is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated, collapsed, and emphysematous areas in lung CT.
Apache License 2.0
71 stars 23 forks source link

Segmenter fails if lung carnification / dense #20

Closed rbumm closed 3 years ago

rbumm commented 3 years ago

In some severe COVID-19 cases of a recent analysis, the lung density was very high in collapsed lung areas and Lung CT Segmenter failed to produce lung masks covering this area. 

Workaround:

Painting in segment editor and "Fill between slices"

rbumm commented 3 years ago

Placing additional markers in the Lung CT Segmenter just add the basal spots as shown here

lassoan commented 3 years ago

You can use Grow from seeds even if there is no intensity difference between the segments at all. The trick is to always put lung and other sample points in pairs, on two sides of the boundary.

If this turns out to be too tedious then we could improve Grow from seeds to accept boundary curve segments as additional inputs.

lassoan commented 3 years ago

Placing additional markers in the Lung CT Segmenter just add the basal spots as shown here

This is probably because that the intensity range that you specified is too narrow.

rbumm commented 3 years ago

I tried to push the intensity range, but that resulted in leaks from right and left lung. 

Placing a few more pairs of fiducials did not help at all, the preview just remains unchanged. 

I pressed "Apply", went to the segment editor and painted a few slices in axial view, then used "Fill between slices":

This works quite well as a workaround. Of course, I would prefer the fiducials within CT Segmenter because they are much easier to place. 

The HU of the dorsal collapsed area goes up to values of +200 ...

Apart from that, our little extension works very well !

lassoan commented 3 years ago

I tried to push the intensity range, but that resulted in leaks from right and left lung.

When there is little intensity difference between the regions you want to separate then you need to place seeds in pairs, on both sides of the boundary. However, if there is no intensity difference at all (it is comparable to the image noise), then grow from seeds may become too tedious to use. You can try to reduce image noise using image filtering before starting segmentation, but in extreme cases (such as the image above) I agree that switching to a more manual method, such as Fill between slices is a better option.