As an addendum to the excellent suggestions by previous posters, the package RVCG by Stephan Schlager incorporates many of the mesh filters from Meshlab and it's very simple to script a routine for whole folders of files using this (if you can script in R!). The packages Morpho/Arothron are also very useful for removing extraneous internal features from surface scans (which often happens as an artefact of processing lots of overlapping scans) The functions are outlined in Profico et al.'s AJPA paper: https://doi.org/10.1002/ajpa.23493 Kind regards, Tom O'Mahoney
On Sat, 5 Sep 2020 at 19:52, Murat Maga <[email protected]> wrote: > Yes, at this point probably PLY is your best bet for storing 3D models, if > preserving the correct scale and portability across software is a concern. > There are some emerging formats (including glTF), but none of these are as > widely supported as the older ones (meaning PLY, STL or OBJ) and tends to > be quite complex (like glTF). > > I usually prefer to test things immediately. If you apply bunch of filters > and measure differences it might be difficult to tease apart from where the > difference is coming, and you might have to do it one step at a time > anyways. For these kinds of repetitive analyses, it would be good for you > to establish an effective workflow, so that you can test many different > parameters and easily measure their effects. This is usually done through > scripts, but if you are careful (and of course patient) you can run thing > manually through user interfaces. I think Meslab does have the capability > of running scripts (through meshlabserver), but I do not know much beyond > that. > > In Slicer, this would be a python script, but you can't do (at least > currently) mesh fusion in Slicer, which seems critical for what you want to > test. > > Best, > M > > > On Saturday, September 5, 2020 at 11:19:10 AM UTC-7 [email protected] > wrote: > >> Thank you very much for the advice Dr. Murat! Would PLY be the >> recommended format? I have noticed looking around that outside STL and OBJ, >> PLY seems to be the most commonly used. >> >> As for testing the models prior to analysis, would it make sense to >> compare the models before (following aligning and merging of >1 scan) and >> after decimation and/or smoothing? >> >> Thank you again. >> Eric >> >> On Monday, August 31, 2020 at 8:40:48 PM UTC-7 [email protected] wrote: >> >>> FYI, the default decimation algorithm in Slicer (available through the >>> surface toolbox), is also the quadratic edge collapse, specifics of which >>> can be found here: >>> https://vtk.org/doc/nightly/html/classvtkQuadricDecimation.html#details >>> >>> My point is not so much the number of vertices to retain (even 500K >>> might be unnecessarily detailed for some geometric forms), but that the >>> trade offs between amount of post-processing, resultant model size and its >>> geometric accuracy are data and question-specific and should be decided by >>> the investigator by running some tests. >>> >>> I forgot to add to my initial posting that if the retention of original >>> scale of organism is important, avoiding obj and stl formats would be good >>> practice. These formats have no explicit unit definition, which can cause >>> all sort of weird scaling issues when one moves data across software, or >>> perhaps obtain these models from internet archives. >>> >>> M >>> >>> On Monday, August 31, 2020 at 5:23:44 PM UTC-7 [email protected] >>> wrote: >>> >>>> Eric, >>>> >>>> Just adding to Murat's excellent advice here: the quadratic edge >>>> collapse function in Meshlab is very useful for reducing file size of 3D >>>> objects. For my work, I specify a target of 500,000 faces and that gives me >>>> a good balance between not losing too much information in the object, but >>>> reducing the object to a manageable file size for downstream analysis >>>> (e.g., reading into R via geomorph, or the IDAV landmark editor program). >>>> >>>> Some colleagues and I put together a workflow for processing and >>>> analyzing CT data using the programs Fiji and 3D Slicer, both of which are >>>> open-source and cross platform. The workflow is built around working with >>>> CT data, but includes step-by-step instruction for cleaning up and >>>> exporting 3D models in 3D Slicer (Steps 7b, 7c, and 7d), as well as video >>>> tutorials in the supplemental materials that demonstrate 3D model >>>> simplification and file conversion using Meshlab (Supplementary Video S3), >>>> which may be useful in your work. The workflow is available for free from >>>> the open access journal, Integrative Organismal Biology here >>>> <https://academic.oup.com/iob/article/2/1/obaa009/5818881> ( >>>> https://doi.org/10.1093/iob/obaa009). >>>> >>>> I hope that helps and best of luck, >>>> Thaddaeus Buser >>>> >>>> >>>> >>>> On Friday, August 28, 2020 at 8:42:29 PM UTC-7 [email protected] wrote: >>>> >>>>> Eric, >>>>> >>>>> These are all excellent questions to ponder about, particularly when >>>>> you are starting with 3D digitization and morphometrics. Questions you ask >>>>> require validation. The first one, stitching of individual mesh elements >>>>> to >>>>> form a 3D object, is the hardest one to quantify, because it requires an >>>>> independently acquired image of the same object at a high-resolution >>>>> (preferably with a modality like tomography) so that you can treat that as >>>>> a gold reference. Or you might consider scanning an object of known >>>>> dimensions (e.g., sphere, cube), and then you can compare your results >>>>> from >>>>> geometric estimates (of volume, area) to the digitized one. From there it >>>>> is somewhat easy to generate heatmaps that will let you visualize the >>>>> difference between your gold-reference and your digitization. Once you >>>>> establish this flow, you can then experiment with your different >>>>> algorithms >>>>> of stitching and/or data acquisition. >>>>> >>>>> The approach in the second part of the question is the same, but it is >>>>> easier because that point your original mesh would be the reference. Then >>>>> you can experiment with de-noising, smoothing, and remeshing steps and >>>>> keep >>>>> comparing those to your original mesh to understand the effects of it. I >>>>> am >>>>> not entirely sure if there is strict order applying the filters, it is >>>>> more >>>>> about the end result really. I think for stereophotogrammetry steps more >>>>> like fuse, repair, clean. Whether you need remeshing or smoothing (or >>>>> both) >>>>> will be dependent on your downstream pipeline (e.g., if the tool you are >>>>> using expecting fairly uniformly distributed polygons to create semi >>>>> landmark, you will probably need to remesh). >>>>> >>>>> Again these are all empirical test, and you shouldn't take anybody >>>>> (including mine) as gospel to follow strictly, the idea is to experiment >>>>> and see the results for your particular data. Meshlab is very powerful for >>>>> this, but some of these (particularly some of the clean up tasks) can be >>>>> accomplished fairly easily in 3D Slicer using as well. For a conceptually >>>>> similar exercise on the effect of decimation to mesh geometry you can take >>>>> a look at this tutorial from our recent workshop. >>>>> >>>>> https://github.com/SlicerMorph/S_2020/blob/master/Day_4/Surface_Toolbox/Mesh_edits.md >>>>> >>>>> HTH, >>>>> M >>>>> >>>>> On Friday, August 28, 2020 at 5:27:25 PM UTC-7 [email protected] >>>>> wrote: >>>>> >>>>>> Hello everyone, >>>>>> >>>>>> I'm just starting out in 3D GM and I'm really stuck when it comes to >>>>>> figuring out a workflow for producing 3D surface meshes that are >>>>>> de-noised >>>>>> without losing topological integrity, making them suitable for analysis. >>>>>> >>>>>> I've been using a NextEngine Ultra HD laser scanner for producing >>>>>> scans. I've then been moving the scans into Meshlab to to do everything >>>>>> else, from aligning and fusing to repairing and smoothing. I've come to >>>>>> view the number of filters in Meshlab to be both a blessing and a curse. >>>>>> I've also looked into MeshMixer, but everything seems to be black-boxed, >>>>>> and that make me a little uneasy. >>>>>> >>>>>> I'm also confused as to the order of steps. Should I fuse my scans >>>>>> and then clean and repair, or vice versa? What is the best way to >>>>>> de-noise? >>>>>> Should I smooth or remesh? In what order should I be applying filters? >>>>>> >>>>>> I'm hoping that someone here might be able to suggest a workflow to >>>>>> guide me through the process or direct me to some publications that can >>>>>> answer all of my questions. Also feel free to suggest some other 3D mesh >>>>>> applications that I'm likely not aware of. >>>>>> >>>>>> Any advice would be greatly appreciated. Thanks everyone! >>>>>> >>>>>> Best, >>>>>> Eric >>>>>> >>>>> -- > You received this message because you are subscribed to the Google Groups > "Morphmet" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/morphmet2/5f7ce1b2-6c71-43ec-a0a0-e80d15848dedn%40googlegroups.com > <https://groups.google.com/d/msgid/morphmet2/5f7ce1b2-6c71-43ec-a0a0-e80d15848dedn%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "Morphmet" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/morphmet2/CAKeC_jwswgykAogX5x04NO1h0y5kxNZNF3Zzz-WvjcOjqo_%3DkA%40mail.gmail.com.
