Skip to content

Feat/rib landmark scaling - #1

Merged
Hendrik-code merged 2 commits into
mainfrom
feat/rib-landmark-scaling
Oct 5, 2026
Merged

Hendrik-code merged 2 commits into
mainfrom
feat/rib-landmark-scaling

Conversation

@Hendrik-code

Copy link
Copy Markdown
Owner

No description provided.

Hendrik-code and others added 2 commits September 8, 2026 09:04
…ries

Two changes needed to run the verpex stack on a much larger landmark set
(104 rib POIs over a hemithorax instead of 35 vertebra POIs).

HeatmapDenseNet and UNetHeatmapDenseNet computed the per-landmark feature
encoding by broadcasting (B, N, 1, H, W, D) against (B, 1, F, H, W, D) and
summing over space, which materialises a (B, N, F, H, W, D) intermediate. At
verpex's N=35 and an 8x8x9 heatmap that is 20 MB per sample; at N=104 and the
U-Net decoder's 28x36x52 it is 5.6 GB per sample, which no batch size makes
fit. The einsum contracts straight to (B, N, F) instead - same numbers, same
detach semantics, batched matmul. test_models.py now pins the equivalence
against the broadcast formulation and checks the heatmaps stay detached.

PoiPredictionModule built its two stages from the module-level registries, so
a subclass wanting different stage implementations had to reimplement
__init__. They are class attributes now (COARSE_MODULES / REFINER_MODULES),
built through registry.build as before.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01J7ZFviVmei5PikGKn3bVV1
@Hendrik-code Hendrik-code self-assigned this Oct 5, 2026
@Hendrik-code
Hendrik-code merged commit 5f5b81b into main Oct 5, 2026
4 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant