Hi all,
During manual segmentation it can be handy to draw an ROI on every 10th or 20th slice of a stack, then have software fill in the remaining slices with interpolated ROIs. Has anyone implemented an ROI morphing procedure, or know of one that would be easily implemented for this application? Michael |
Hi,
On Thu, 14 Apr 2011, Michael Doube wrote: > During manual segmentation it can be handy to draw an ROI on every 10th > or 20th slice of a stack, then have software fill in the remaining > slices with interpolated ROIs. > > Has anyone implemented an ROI morphing procedure, or know of one that > would be easily implemented for this application? There is an interpolation for ROIs in the Segmentation Editor in Fiji. The idea is to convert the ROIs to binary images, apply a signed distance transform, interpolate the transformed images. The interpolated images are converted back to binary images by simple thresholding and then creating selections from the binary images. The (unoptimized) code is here: http://pacific.mpi-cbg.de/BinaryInterpolator.java Ciao, Dscho |
Thanks Johannes
> The (unoptimized) code is here: > > http://pacific.mpi-cbg.de/BinaryInterpolator.java I will have a go with this as a starting point. Michael |
In reply to this post by dscho
Dear all,
>> During manual segmentation it can be handy to draw an ROI on every 10th >> or 20th slice of a stack, then have software fill in the remaining >> slices with interpolated ROIs. >> > There is an interpolation for ROIs in the Segmentation Editor in Fiji. The > idea is to convert the ROIs to binary images, apply a signed distance > transform, interpolate the transformed images. The interpolated images are > converted back to binary images by simple thresholding and then creating > selections from the binary images. I made a utility out of this idea which was released in BoneJ v1.3.3 today. It takes ROIs from the ROI manager then interpolates across stack slices, creating ROIs for slices where no ROI was drawn. http://bonej.org/utilities Michael |
Measure Stack on the OptiNav site does something similar, but the interpolation scheme is at least superficially different. It is mainly oriented toward finding volumes. I have not updated it in many years. Integration with ROI Manager would be handy. Users have requested surface area output and I have not done that yet, either.
Bob Robert P. Dougherty President OptiNav, Inc. 1414 127th Pl NE #106 Bellevue, WA 98005 (425) 891-4883 FAX (425) 467-1119 [hidden email] www.optinav. com On Nov 24, 2011, at 12:15 PM, Michael Doube <[hidden email]> wrote: > Dear all, > >>> During manual segmentation it can be handy to draw an ROI on every 10th >>> or 20th slice of a stack, then have software fill in the remaining >>> slices with interpolated ROIs. >>> >> There is an interpolation for ROIs in the Segmentation Editor in Fiji. The >> idea is to convert the ROIs to binary images, apply a signed distance >> transform, interpolate the transformed images. The interpolated images are >> converted back to binary images by simple thresholding and then creating >> selections from the binary images. > > I made a utility out of this idea which was released in BoneJ v1.3.3 > today. It takes ROIs from the ROI manager then interpolates across stack > slices, creating ROIs for slices where no ROI was drawn. > > http://bonej.org/utilities > > Michael |
Hi Bob,
> Integration with ROI Manager would be handy. Users have > requested surface area output and I have not done that yet, either. If you convert all the ROIs to a binary stack (and actually, making a binary stack is an intermediate step in RoiInterpolator), then you can call BoneJ's Isosurface plugin (http://bonej.org/isosurface). I just looked at the code for the first time in a while and its API is less than awesome - otherwise it would be trivial to send the interpolated ROI stack to Bene's surface mesher then work out the area of the triangles in the mesh. Michael |
Free forum by Nabble | Edit this page |