Converting .STL file into stack of images

Tags: #<Tag:0x00007fb87b5015c8> #<Tag:0x00007fb87b501488> #<Tag:0x00007fb87b501320> #<Tag:0x00007fb87b5011e0>


Yes, so you perform the Flood Fill before you voxelize, and the stacked images should be solid shapes?


The procedure should be:

  1. Open STL in 3D Viewer
  2. Voxelize (your resulting image will contain a shell over the STL’s surface)
  3. Flood fill the voxelized image

With a bit of puttering I can make the flood fill automatic, but I haven’t setup the code to utilize information from the normal vectors yet.


I must be doing something wrong =/ I’ve ran the plugin, but nothing is happening. I did it before and it worked (by accident) but I can’t make it work again.


this is the result (progress, it carries on filling until it is all white)


If you don’t mind sharing your STL file, then I can check it out.

However, this result is indicative of something not being “watertight.” There are multiple ways this can happen, including voxelizing to a problematic resolution (most often too small of an output image) or issues in the input STL.


gave you access through dropbox, email should have been sent


Thanks I got it.

Sorry, there is 1 more step in this case. The issue is that the mesh isn’t watertight, specifically the ends are open. The quick and easy fix until I add some options to the plugin are:

  • Go to the top slice in the stack and fill the region
  • Repeat this for the bottom slice in the stack

Now you can use Flood Fill (3D) to fill the interior of your object.

This worked for me on your STL. Let me know if any more issues come up.


Thanks for providing this valuable information to us. Could you please give us step wise instruction for procedure or if you could make video for converting STL file in to stack of image that will be great help.
Once Again Thanks


Once i’ve used Flood Filler tool on both ends, I select plugins > process > Flood Fill (3D), it says “1 macro installed”. What do I select next? I tried the first and second face, but nothing happened. The inner faces are still unfilled.


Upps, I should have been more clear. Use Flood Fill (3D) on an interior slice after you flood fill the top and bottom.

Basically what you are doing by first using the 2D flood fill on the top and bottom slices is enclosing your objects. Flood Fill (3D) needs the entire region to be enclosed, even if it is on a top/bottom slice.


Sorry - yeah that was what I meant by second slice, an interior one. How quickly did it fill in your case? It might be that I need to leave it for a while.


It filled in a couple seconds. Try clicking a couple of times, I just repeated the procedure and for some reason the second click triggered the 3d flood fill.


No change, it’s probably a problem on my end. I’ll try a few more times if worse comes to worse, I’ve got the contours, so I could import into Matlab and fill them there.


Could you please explain how to fill the contour in Matlab ?


That said, it really does work in FIJI/ImageJ.


Tried it again this morning with a smaller depth and it worked!


An imagej-ops version of the voxelization code now exists in the MeshOps topic branch.

I and some others are a bit side-tracked from that topic branch for the time being by the ThreeDViewer replacement of 3D Viewer, which is based on the ClearVolume/Scenery infrastructure. If someone wanted to write some tests and get the MeshOps topic branch merged into master, I wouldn’t be opposed (and would be appreciative).


Voxelization is now a part of the master branch of imagej-ops

If you switch your FIJI’s imagej-ops to the latest SNAPSHOT, then you can test this visually in the new ThreeDViewer.

Geometrical operations in stl file

I’m having exceedingly difficult trouble trying to get the necessary 3D viewer snapshot version to get voxelisation. Both Funimage or ImageJ both install 3D_Viewer_3.1.0.jar and nothing like the 3D_Viewer-4.0.2-SNAPSHOP that az_ismail above showed.
I don’t know how to use image-ops, I can’t find anything in fiji that will let me “switch” that on.

I then tried to add the ImageJ-Dev update site, and now Fiji is not starting at all. Now I’m sad. Win7/64 here :confused:

OK, I tried downloading the latest Fiji, and it shows 3D_Viewer-4.0.1.jar which is great. But when I start it I get the somewhat “infamous” Java 3D error about not having OpenGL 1.2 or better. I’m on 4.5. so now 3D viewer isn’t loading.


@kabammi If you don’t mind being a tester, try out this update site:

There is a growing list of infamous problems with 3D Viewer, and the Java3D library that it is based on is not improving (and no improvements are planned). We spent the past couple of weeks working on a replacement called… ThreeDViewer, which is still very, very new and things are changing, but you can already load meshes and voxelize them (i.e. you can use ThreeDViewer to access imagej-ops functionality through viewer menus). The feature list is growing quite rapidly and will almost certainly grow beyond those of the existing 3D Viewer.

We’re just really trying to move on from 3D Viewer instead of solve these problems for code that is now rapidly bitrotting.

It would be very much appreciated to get some tests on Windows as well, we’ve mostly been testing on OSX and Linux, but the code has been written such that it should work in Windows as well.