These are chat archives for fiji/fiji

22nd
Jan 2016
odinsbane
@odinsbane
Jan 22 2016 11:14
Good morning, I am working on an imagej plugin that I would like to include in fiji at some point. The plugin is for segmenting objects in 3D. I was curious if there is a common data structure for saving a 3D mesh? and 3D lines?
odinsbane
@odinsbane
Jan 22 2016 11:52
Ill probably post this question to the imagej mailing list too. I had never tried the gitter thing.
Kyle I S Harrington
@kephale
Jan 22 2016 11:52
@odinsbane STLs are fairly common, as are OBJs
you can save those in 3D viewer at the moment
have you looked into the current 3D segmentation/3D meshing code in FIJI already?
STLs and OBJs are file formats of course, in terms of data structures themselves, if you look in imagej-ops you can find DefaultMesh, which you can use for triangulated meshes
and has a corresponding MarchingCubes algorithm to generate it from an image's isosurface
i have a branch on the 3D viewer repository which you can use for running the imagej-ops version of marching cubes on an image
Stefan Helfrich
@stelfrich
Jan 22 2016 12:00

Ill probably post this question to the imagej mailing list too. I had never tried the gitter thing.

@odinsbane You could also post it to the forum if you like :)

Kyle I S Harrington
@kephale
Jan 22 2016 12:01
:+1:
There is actually a 3D discussion going on now on the forums
reminding me that i need to post to that...
Kyle I S Harrington
@kephale
Jan 22 2016 12:10
@odinsbane http://forum.imagej.net/t/future-directions-of-3d-in-imagej/669 note that one of the things that would be very cool would be to represent meshes via ImgLib2's ROI data structures (albeit true that I'm still waiting for others to second this idea), but it would make the meshes reusable for free in a lot of other contexts
odinsbane
@odinsbane
Jan 22 2016 14:33
I like the idea of using imglib2's roi structures. I use a viewer that we wrote for jfilament it is also built on java3d. I am not completely stuck on it, so I wouldn't mind changing it eventually.
At this point though, we are going to start generating some data, and it would be great if the output could be used/visualized or edited with the current tools in fiji.
Kyle I S Harrington
@kephale
Jan 22 2016 14:35
oh yeah, definitely check out that 3D discussion with regards to java3d
odinsbane
@odinsbane
Jan 22 2016 14:36
Do you have some good examples of the roi's?
Kyle I S Harrington
@kephale
Jan 22 2016 14:36
ClearVolume definitely has some of the nicest visual outputs in fiji at the moment, but its moving fast so it might be hard to target
for the time being at least
i'm not aware of anyone who has taken a pass at implementing meshes as ROIs yet
many of us just got back from the Konstanz hackathon (or are in the midst of travel), where a lot of coding+discussion happened
@skalarproduktraum is doing the work on scenegraphs in ClearVolume, which is where you'd want to have Nodes for 3D meshes (and I think we talked about the notion of ImgLib2 Nodes a bit, right?)
Kyle I S Harrington
@kephale
Jan 22 2016 14:45
@odinsbane I should play around with JFilament a bit, how does it do on filaments in noisy images?
odinsbane
@odinsbane
Jan 22 2016 14:47
It can take a lot of user input.
The follow-up tools from Vavylonis do more of the auto-detection/segmentation.
I think Ill start with the default mesh, I should be able to go back and forth from that pretty easily.
Kyle I S Harrington
@kephale
Jan 22 2016 15:03
@odinsbane yeah, that sounds good since it is already up and running. if you want any visuals of it you can use my 3d viewer branch https://github.com/fiji/3D_Viewer/tree/marchingcubes but one thing to note is that it seems like there may be need for some vertex/normal interpolation on the output of the marchingcubes algorithm (at least to make it 1-to-1 with the marchingcubes algorithm that already exists in 3d viewer)
odinsbane
@odinsbane
Jan 22 2016 15:07
Right now I have a triangulated mesh, and some curves in 3D. I need to be able to save and load them. It would be best if I used a widely available format. So maybe the converting to/ from a DefaultMesh is the best. If that works, then I would look at other ways to generate default meshes.
Kyle I S Harrington
@kephale
Jan 22 2016 15:38
@odinsbane you can get some mesh exporting functionality for free in 3D viewer (wouldn't need my branch or anything), all you'd have to do is run a couple of loops to convert the Vector3D's from DefaultMesh to Point3f's (you can snag a snippet of conversion code from: https://github.com/fiji/3D_Viewer/blob/marchingcubes/src/main/java/marchingcubes/MCTriangulator.java), then you can use 3D viewers isosurface.MeshExporter class to write STLs to file
Curtis Rueden
@ctrueden
Jan 22 2016 22:43
So exciting to see all the 3D discussion! :smile: