Skip to content

[Feature Request] Add Curved Planar Reformation (CPR) support (similar to vtk.js implementation) #2609

@abarbermate

Description

@abarbermate

What feature or change would you like to see made?

I would like to request the addition of native Curved Planar Reformation (CPR) support in Cornerstone3D. CPR is essential for visualizing curved anatomical structures - such as the mandible, dental arch, or blood vessels - by "straightening" them along a defined path into a 2D planar view.

Proposed Workflow/Logic:

  1. Path Definition: The user defines a curve (polyline or spline) on an axial or MPR slice.
  2. Reformation: The engine generates a reformed view based on the defined curve.
  3. Thick CPR: Support for slab thickness (MIP, Average) to allow for "Panoramic-like" reconstructions in dental imaging.

Reference: vtk.js provides a high-performance implementation for this via vtkImageCPRMapper. This mapper allows for real-time generation of curved reformations directly from volume data. Since Cornerstone3D is heavily optimized for GPU-accelerated volume rendering, implementing a logic similar to the vtkImageCPRMapper would be the most efficient way to bring this essential diagnostic feature to the library.

Why should we prioritize this feature?

This feature is a fundamental requirement for the dental, maxillofacial, and vascular imaging communities.

Interaction with existing features: Currently, Cornerstone3D has excellent MPR and Volume Rendering support. However, for curved structures, standard MPR is insufficient as it can only show a small segment of the structure at a time. CPR would leverage the existing volume/stack data but provide a mathematically transformed view that is currently missing.

Scientific & Research Impact: I am currently working on my Master's Thesis at ELTE University (Budapest), focusing on automated cephalometric landmark detection on CT/CBCT scans. Native CPR support would allow researchers and clinicians to:

  • Validate AI-detected landmarks along the mandibular curve in a single view.
  • Bridging the gap between 3D volumetric data and traditional 2D diagnostic standards (like panoramic X-rays).

Community Demand: This has been a recurring request in the community (previously discussed in issues like #1339 and #1677). While it may have been "out of scope" in the past, the transition to the Cornerstone3D architecture makes this the perfect time to revisit and implement it to compete with desktop-grade viewers.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions