As you can see in this image, we can clearly see the many blood vessels inside, the black ones wrapped in white, I want to know how to get the black blood vessels from the white ones. I used a threshold, but it will calculate the other black brain tissue around it. Since we can distinguish blood vessels from images, there must be a way to segment them. Or is there a way to divide the white area and the black part in the white area?
You can use Local threshold effect (provided by SegmentEditorExtraEffects extension), as it allows restricting thresholding into a single structure. You can define a box-shaped region of interest, intensity range, and minimum bridge diameter to prevent the vessel to be connected to other dark areas.
If you can share an example dataset (upload the anonymized data somewhere and post the link here) then we can give more specific advice.
This is the data,I hope u can help me test it ,get vessels from it.The black in white is vessel.
Tried your data in vain, no usable result could be obtained. Intensities of blood vessels of the Willis circle do not distinguish much from surrounding structures. It’s segmenting vessels without contrast media. Specialized OEM software may perform better. Expert advice from Slicer devs may be of better help. Best would be to perform an object oriented CT scan with contrast. Good luck.
Would it be enough to segment those parts of the vessels where it is surrounded by bright region? If that’s enough then the segmentation is feasible, but quite tedious.
Overview of steps:
- Use Cast Scalar Volume module to change the scalar type of the volume to
short
. Floating-point scalar type multiplies unnecessary extra memory need and computation time. - Use Crop Volume module to resample the volume to have isotropic spacing by enabling “isotropic spacing” option (and if you are interested in a smaller region then also crop)
- Segment the bright regions by thresholding (1000 to maximum)
- Fill internal holes by applying Margin effect in
grow
mode by 4mm, then shrink by 4mm back to the original region size - This segment will be used to limit further operations to dark regions that are enclosed in bright surroundings, so rename it to “mask”, hide it, and in masking section set: Editable area → mask, Modify other segments → Overwrite visible.
- Create two new segments:
vessels
andother
- Go to Paint effect, in masking section, enable
Editable intensity range
and set range to 0 to 600, to restrict painting to dark regions (where vessels are) - Paint scribbles in vessels that you want to segment in all three planes
- Go to “Grow from seeds” effect, click “Initialize”, and just below that button click “Show 3D” button (next to “result” label)
And this is where things start to become tedious: you need to keep painting scribbles with “vessel” segment inside vessels and “other” segment outside vessels, until you segmented all vessels of interest and excluded all other regions.
When you are finished, click Apply in “Grow from seeds effect” and hide the “other” segment. I’ve spent about 10 minutes with this and got this far:
If you just want to segment specific vessels then this may be feasible, but to get a complete vessel tree would take so much time that it would not worth the effort. I agree with @chir.set that a scan with contrast material seems like a better approach, as it would provide full vessel tree and segmentation would not be so difficult.
Thank you ,professor,u provide me a good way ,Thank you very much!