Using crop volume module to extract subvolume from a 3D volume

Hello Everyone,

I have a 3D volume like the following that has been reconstructed from 2D images.

image

I’d like to know if there is a way to remove the terminal branches from this volume . By terminal branches, I mean the free ends (i.e inlets/outlets of a 3D volume).

After removing the terminal branches, I’d like to extract a subvolume from the original volume.
I had a chance to look at this video tutorial that shows how to crop volumes by selecting regions in 2D images. I’d like to know if there exists a similar
approach to crop volume.

Any suggestions on how to do this will be highly appreciated.

Deepa

You can crop a segmentation using “Scissors” effect or for more complicated cuts, using “Surface cut” effect (provided by SegmentEditorExtraEffects extension).

1 Like

@lassoan

Thank you very much. I will check these options.

But prior to extracting the subvolume, I’d like to do the following

Since the original volume is highly complex, I’d like to know if it is possible to programmatically remove the free ends. It will be difficult to manually locate these free ends.

You don’t need to address this during segmentation. Centerline extraction module extracts all the endpoints that it can find and then extract those branches. But we can allow editing of these endpoints, so that you keep only selected branches.

Hi @lassoan,

In the end, I would like to extract a 3D subvolume with one inlet free end and one outlet free end similar to this 2D.

In the 3D volume image posted above, I could find many free ends and I wasn’t sure how to retain just one inlet and one outlet. For this reason, I had thought of removing all the free ends before extracting the subvolume. Once the subvolume is extracted, I could cut open two branches (located geometrically opposite) to create the inlet and outlet before feeding this subvolume to the centerline extraction module.

From what you have suggested, I think I shall do this vice-versa. First extract the subvolume, feed to the centerline extraction, delete terminal branches.

Just for future reference, extraction of selected branches is now implemented: