I am relatively a new user and would like to have a piece of mind from more experienced users. So I generally use Editor to segment my ROI’s, and it has a fantastic saving feature which allows me to save my 3d model as STL. But lately I’ve been using Segment Editor to overcome more troublesome segmentations. But when I try to save my 3d model, STL is absent. My aim is to have work with it on meshlab. If you have any suggestions or solutions It would be great.
It surprises me that despite all the effort in creating tutorials, advising people on the forum, improving the user interface, etc., people still have difficulty finding STL export - but this is the reality… At this point, I’m tempted to accept the idea of putting a printer (or 3D printer) icon in the Segment Editor module GUI that would bring up a directory selector and all visible segments would be written to that folder as STL files. @cpinter@ihnorton@pieper What do you think?
The other option that occurred to me would be adding STL as a save option in the save dialog and doing the export then. You’d need to have a convention for including the individual segment names to STL filenames.
I agree that this would be probably intuitive for the user, but unfortunately this would only work for data export, not for saving data in the scene (always the master representation is saved into the scene, which is usually binary labelmap; STL cannot store all the necessary segment metadata), and the “Save data” dialog is used for both export and scene saving.
How about saving the master representation along with the STL files in that case? Since a segmentation will already map to a collection of files adding another one shouldn’t be a big problem.
But it’s true that a lot of programs have separate Export and Save menu options so maybe we should split the concepts. There are many node types one might want to export in various lossy formats.
How about an “Export” button in the Subject Hierarchy context menu – if it is a QAction it could probably then be hooked in Segmentations tree view easily? Ideally it would allow multi-selection, and hook into the Save dialog so that only those selected nodes are offered.
Perhaps “important node types” could also register Export to ... and use that option to change the default file type for any selections of their class in the save dialog?
I think the explicit button would be a more bulletproof solution, because if people cannot do a search for STL on discourse (there are at least 10 threads about this by now, so it’s easy to find if someone bothers to search), they won’t find the STL option in the save dialog either. The default saving option must remain the master representation, otherwise there will be bigger surprises (loading back will result in a different display and lossy data in the master representation). Saving the scene with both the master and STL could be a solution, but I think scene saving does not happen with the intent of using individual files from that in other programs (like for those who want do do 3D printing), but to load it back to Slicer later. Also, having “stray” files along with the scene that do not belong to any storage node is a loss of coherence in my view.
So in summary, I think STL is definitely an export type operation, and adding a button for it in Segment Editor would probably be both sufficient and easy enough to find.
Adding an “Export for 3D printing” action in the subject hierarchy tree would be useful, but I agree with Csaba that it would still not be easy enough to find for users.
What do you think about adding it under the “Segmentations…” button menu? Would it be easy enough to find?
There are already many buttons, but still I lean towards the dedicated button, so that it’s super easy to find.
We could also pin a topic to the main page like “FAQ: Save segmentation to STL”. So even people who don’t use search would see this (if they look), because you need to open the page to post a question.