How to extract the volume of interesting from a 3D image by free-hand ROI?
When analysis 3D image data by rendering, some tissue is unconcerned and it would distrub the analysis. Thus, I want to crop the image by a free-hand ROI just like RadiAnt:
In the above picture, the green polygon is the ROI, and I want to crop the outside image. The result is expected to be:
Thus, we can focus on the intrested arteries.
If I have the vtkImageData and the 2D coordiante of ROI, how can I crop the image? Has vtkplotter implemented this function? The shown image may be surface rendering or volume rendering or MIP (maximum intensity projection).
Hi - you can 'cut' volumetric data only in a ROI which is of box-like shape.
from vtkplotter import load, datadir
vol = load(datadir+"embryo.tif")
vol.crop(VOI=(20,100, 40,60, 20,80))
vol.show()

See also here.
Is it possible to cut it by free-hand ROI?
no - unless you make an isosurface out of the volume.
There may be a solution. Firstly, we can create a 3D mask using the ROI. Then, we rotate the mask according to the transform matrix. Last, we apply mask*volume to remove the unconcern tissue.
If I implement this solution, I would upload the code.
I find it is difficult for me to create such a 3D mask. Slicer has implement such function.