UoMResearchIT/Gryphon

Use obj as input

Opened this issue ยท 6 comments

Serob commented

Isn't there a possibility to use obj or other standard 3d formats for input-output?
If no, is there a converter existing to convert to/from other formats to/from your input/output format?

How do you intend on using these inputs? Gryphon expects a group of measurements to which the filter is applied. An OBJ file (at its most simple) represents a collections of vertices for a 3D model. Is your intention to supply multiple OBJ files and then have the vertices processed by Gryphon?

I would like to know as well how this code is applied and what file type is recommended.
I have a 3d scanner program that puts out obj files but I'm sure I can find a program that puts out just the cloud points.

Serob commented

@aharwood2 My case is similar to what @Vinos88 wrote. We have a scanner that produces obj (we can also convert to .glb, .stl and other popular 3d formats).
My intention is to supply this file data to Gryphone and get processed one as the output (if I understood Gryphone's working principal right).

Gryphon expects you to provide a list of measurements e.g. hip circumference etc. not just a bunch of points that define the surface of a model. When we developed the software, our scanner software was able to take the 3D model and extract from it particular measurements. These measurements then formed the input file.

In your case, you just have a 3D model file which essentially defines the surface of the body, not any particular measurements. Gryphon doesn't actually care what the numbers mean (whether they are measurements or simply points in a cloud) so you could still use Gryphon to reduce the variability in the OBJ / STL / Point Cloud data you still need to reformat the data to conform with the input format.

So, do you have multiple scans of the same person you then wish to filter to get a subset of filtered OBJ files? e.g. you have 5 OBJs and you want Gryphon to give you 3 OBJs, the outliers disregarded?

Gryphon expects you to provide a list of measurements e.g. hip circumference etc. not just a bunch of points that define the surface of a model. When we developed the software, our scanner software was able to take the 3D model and extract from it particular measurements. These measurements then formed the input file.

In your case, you just have a 3D model file which essentially defines the surface of the body, not any particular measurements. Gryphon doesn't actually care what the numbers mean (whether they are measurements or simply points in a cloud) so you could still use Gryphon to reduce the variability in the OBJ / STL / Point Cloud data you still need to reformat the data to conform with the input format.

So, do you have multiple scans of the same person you then wish to filter to get a subset of filtered OBJ files? e.g. you have 5 OBJs and you want Gryphon to give you 3 OBJs, the outliers disregarded?

I think I misunderstood what this code is meant for.
I came on the GitHub because of an article that stated that this can make your scans (of humans) much more accurate.
What I understand from what you just said is: you need multiple scans of the same subject and can use the software to "merge" these scans into 1 more accurate one?
Or you should scan with a software that puts out measurements between points and let this software filter out wrong measurements, am I right?

If this is the case, what programs did you use to scan with? And what is the file format that this script needs?

Thank you for your time!

Actually you need 5 scans of the same person and it uses a windowing function to exclude the two "worst" measurements to give you a set of 3 scans that are more closely clustered as per the article: https://www.tandfonline.com/doi/full/10.1080/00140139.2021.1931473

However, as I said, Gryphon doesn't actually care what the numbers means so if you wanted to feed it points in space rather than measurements then you can, you just have to format it correctly. However, unless the polygons that comprise the OBJ file are consistently defined between consecutive scans then it wouldn't work.

So you can either use some software to extract measurements (we use SizeStream's proprietary software which operates our scanning system) or you can just format the values you want to filter as per the input file format: https://github.com/UoMResearchIT/Gryphon#input-format.