Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: dynamic threshold sphere #1598

Open
wants to merge 7 commits into
base: main
Choose a base branch
from
Open

Conversation

wayfarer3130
Copy link
Collaborator

@wayfarer3130 wayfarer3130 commented Nov 18, 2024

This pull request includes a variety of changes to the common/reviews/api/core.api.md file and several other files, focusing on adding new functionality, improving existing interfaces, and making minor corrections. The most important changes include adding new methods and types to the VoxelManager and RLEVoxelMap classes, introducing the VoxelManagerEnum, and making some minor adjustments to existing types and functions.

Additions to VoxelManager and RLEVoxelMap:

  • Added new methods to RLEVoxelMap such as delete, fillFrom, findAdjacents, floodFill, forEach, and forEachRow to enhance its functionality. [1] [2]
  • Introduced VoxelManagerEnum to manage different voxel representations, and added createRLEHistoryVoxelManager static method to VoxelManager. [1] [2]

Enhancements to types and interfaces:

  • Added getTypedArray method to PointsManager to retrieve the underlying data array. [1] [2]
  • Modified PixelDataTypedArrayString to include 'none' as a valid type. [1] [2]

Minor corrections and improvements:

  • Corrected a typo in a comment in multiVolumeCanvasToWorld/index.ts.
  • Added VoxelManagerEnum to the enums/index.ts export list. [1] [2]

These changes improve the functionality and flexibility of the voxel management system and enhance the overall codebase.

* Add dynamic sphere

* fix: Performance issues on threshold sphere

* performance

* feat: Create segmentation voxel manager in initial create of volume

* Faster fill for fixing features

* performance: Fix the performance of island removal

* fix restore of mixed islands

* fix external island removal on non-acquisition

* Performance and planar filling improvements

* Fix flood fill not being planar

* Remove invalid points in shape

* feat: Add a labelmap statistics calculator (#2)

* fix: Change to names for statistics so that other implementations can be added

* Fix build issues

* feat: Add working statistics calcs

* fix: Add stats to the labelmap calculator

* Compute labelmap statistics and lesion glycolysis

* PR comments

* PR comments

* PR - comments added

* PR review comments

* PR fixes - mostly cleanup

* Improvements to threshold out of plane

* Missed a fix on the sphere change
Copy link

stackblitz bot commented Nov 18, 2024

Review PR in StackBlitz Codeflow Run & review this pull request in StackBlitz Codeflow.

Copy link

netlify bot commented Nov 18, 2024

Deploy Preview for cornerstone-3d-docs failed. Why did it fail? →

Name Link
🔨 Latest commit 225da7e
🔍 Latest deploy log https://app.netlify.com/sites/cornerstone-3d-docs/deploys/6747dd39f2229a000816bb04

@@ -16,7 +16,9 @@ export default class VolumetricCalculator extends BasicStatsCalculator {

// Add the volumetric units
const volumeUnit = spacing ? 'mm\xb3' : 'voxels\xb3';
const volumeScale = spacing ? spacing[0] * spacing[1] * spacing[2] : 1;
const volumeScale = spacing
? spacing[0] * spacing[1] * spacing[2] * 1000
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wayfarer3130 i fixed it here

Copy link
Member

@sedghi sedghi left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

everything looks updated, and good to me
I couldn't figure out the

await volumeLoader.createAndCacheDerivedLabelmapVolume(volumeId, {
    volumeId: segmentationId,
    voxelRepresentation: Enums.VoxelManagerEnum.RLE,
  });

It does not work after cornerstone3D 2.0 for some reason.

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.

2 participants