Anatomical model extraction and dimension
-
Hello,
Is there a way to extract a part of an anatomical model? For example, I would lik e to segment just the thigh out of the model and save it as a separate model?
Also, is there a way to determine what the skin thickness and the fat thickness is?
Thanks
-
You can do a planar cut, or a boolean operation to extract regions or discard others. You can save the result as .sab file or .smash project.
As described elsewhere, these operations may fail on non-manifold input surfaces. I would recommend running (Mesh Doctor) make manifold on SAT, Muscle an Fat, since those are most likely to cause issues. Then boolean intersection with a brick around the leg should work fine.
Example where I extract the pelvic region:
# select the surfaces in the model: if you have aposable model first do "Clone As Static" surfaces = XCoreModeling.GetActiveModel().SelectedEntities # make manifold XCoreModeling.MakeTriangleMeshManifold(surfaces) # create box keywords = ["coccyx", "L1", "L2", "L3", "L4", "L5"] vertebrae = [e for e in surfaces if any(s in e.Name for s in keywords)] q1, q2 = XCoreModeling.GetBoundingBox(vertebrae) p1[2] = q1[2] p2[2] = q2[2] # add padding of 1mm dx = XCoreModeling.Vec3(1.0, 1.0, 1.0) box = XCoreModeling.CreateSolidBlock(p1 - dx, p2 + dx) # intersect for idx, e in enumerate(surfaces, start=N): res = XCoreModeling.Intersect([e, box.Clone()], parametrized=False) if isinstance(res, XCoreModeling.TriangleMesh): if res.Empty(): # remove empty meshes, i.e. no overlap res.Delete()
-
Hello bryn,
Thanks a lot. That helps a lot
Regards,
Vignesh -
Hi, can You help me?There are other problems with the platform that make it impossible to implement calculations. I need the foot of one of the phantoms, but according to video recommendations on the forum, after processing through the block, the necessary part of the body is simply removed. Is this a huge mistake or mine? Also, regional brush models are not rendered after loading.
-
- what did you try so far? it is difficult to help you if you don't describe the problem in some detail
- what are regional brush models?
If you intersect a model with a block, then you should get the parts of the model that overlap the block. If you subtract the block from the model, you will remove the overlapping region.
The steps to crop the foot from a model could be:
- make complex tissue surfaces like SAT & Muscle manifold (select them, go to Mesh Doctor, and press "Make Manifold")
- draw a block that overlaps with the foot
- select the block, start the Modeler -> Boolean -> Intersect With tool
- while this tool is running, select the model (e.g. the group containing the model surfaces)
- press apply
-> all tissues not overlapping the block will be removed. The others should be cut/cropped such that only the overlapping part remains.