# Optimize on Callused/Damaged Bone

**URL:** <https://shapeworks.discourse.group/t/optimize-on-callused-damaged-bone/421>\
**Category:** Uncategorized\
**Created:** [September 8, 2026, 3:07pm UTC](https://shapeworks.discourse.group/t/optimize-on-callused-damaged-bone/421 "2026-09-08T15:07:41Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Alexander](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Alexander](https://shapeworks.discourse.group/u/Alexander)\
**Post date:** [September 8, 2026, 3:07pm UTC](https://shapeworks.discourse.group/t/optimize-on-callused-damaged-bone/421/1 "2026-09-08T15:07:41Z")

</div>

I am working on a project that has a set of ‘fixed’ healthy tibia to train a model; Callused/Damaged Tibia are then added, and, ideally, I would run optimize, and use the Callused/Damaged particle files alongside the healthy particle files to predict the healed shape of the Callused/Damaged Tibia.

However, Optimize on the Callused/Damaged Tibia is giving unusable results.

What I have tried:

- I have tried free-form constraints but this doesnt seem to prevent particles from spreading.
- I try to just use particle locations like what is illustrated below downstream in the workflow but the results are not great because the particle locations across this tibia are largely not consistent with particle locations in the healthy set.

It feels as though I am missing something fundamental and that there is a work-around built into Shapeworks.

Thanks for taking a look,

Alexander

 ![{D2458BF6-947A-4A6C-B6D6-46712DD0E66F}](https://global.discourse-cdn.com/free1/uploads/shapeworks/original/1X/f270f6be0db94fedf68fb9fc9823f1debe73cbef.jpeg)

---

<div class="post-metadata">

**Author:** ![amorris](https://avatars.discourse-cdn.com/v4/letter/a/73ab20/32.png) [@amorris](https://shapeworks.discourse.group/u/amorris)\
**Post date:** [September 9, 2026, 10:31pm UTC](https://shapeworks.discourse.group/t/optimize-on-callused-damaged-bone/421/2 "2026-09-09T22:31:50Z")

</div>

Hi,

Are you running the optimization using the fixed domains approach? First creating a shape model of the healthy subjects and then adding the disease subjects and marking the healthy ones as fixed domains?

Free form constraints is not the right tool for this task.

We have used an approach before where particles for a lesion on a bone can have an offset against where they would end up if the bone had been healthy. This sounds like your scenario. Unfortunately, it’s not really built into ShapeWorks yet:

> **[Benchmarking off-the-shelf statistical shape modeling tools in clinical...](https://pmc.ncbi.nlm.nih.gov/articles/PMC8792348/)**
>
> Statistical shape modeling (SSM) is widely used in biology and medicine as a new generation of morphometric approaches for the quantitative analysis of anatomical shapes. Technological advancements of in vivo imaging have led to the development of...

---

<div class="post-metadata">

**Author:** ![Alexander](https://avatars.discourse-cdn.com/v4/letter/a/bc8723/32.png) [@Alexander](https://shapeworks.discourse.group/u/Alexander)\
**Post date:** [September 15, 2026, 5:47pm UTC](https://shapeworks.discourse.group/t/optimize-on-callused-damaged-bone/421/3 "2026-09-15T17:47:25Z")

</div>

Hi,

I am running the optimization using the fixed domains approach - exactly as you outlined. The healthy subjects create the shape model and then the diseased ones are added, another optimize is done, while the healthy ones stayed fixed.

The main issue is optimization on the diseased population. I tried a whole swath of optimizations with varying “relative weighting”. Low values gave great coverage, so I would get nice-looking coverage of particles across the damaged regions, but had terrible correspondence. High values didn’t see the diseased samples completely covered by particles. It would be awesome if relative weighting could somehow be adjusted by the region, not just globally.

I have some downstream filters in place, but the problem really has to be fixed in how I am optimizing on the diseased samples.

Do you have any ideas, or is there a possible way to implement that by-region-relative-weighting?

Sincerely thank you for all your help,

Alexander

---

<div class="post-metadata">

**Author:** ![amorris](https://avatars.discourse-cdn.com/v4/letter/a/73ab20/32.png) [@amorris](https://shapeworks.discourse.group/u/amorris)\
**Post date:** [September 29, 2026, 3:15am UTC](https://shapeworks.discourse.group/t/optimize-on-callused-damaged-bone/421/4 "2026-09-29T03:15:49Z")

</div>

Hi Alex,

The tradeoff you’re seeing with relative weight is expected. While this isn’t in ShapeWorks, you could do the following:

1. I would keep the weighting high so that particles stay in correspondence with the healthy model. You don’t need particles on the callus itself. A healed-shape prediction shouldn’t be driven by the callus geometry.
2. Mark the particles in or near the damaged region as missing. For example, flag every particle within some distance of the callus, or every particle whose distance to the surface or displacement from the fixed-shape mean is an outlier.
3. Fit the healthy PCA model to only the reliable particles. Solve a least-squares fit for the PCA mode coefficients using just the unaffected particles, then reconstruct the full particle set from those coefficients. The reconstructed particles in the damaged region give you the predicted healed anatomy, and you can warp the mean or a template mesh to them to get a surface.
