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(ROIThresholdsTools): Made the Rectangle and Circle ROIStartEndThresholds works on other planes #1128

Merged
merged 32 commits into from
Jun 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
086f37e
CircleROIStartEndThreshold working in all plan
Celian-abd Feb 26, 2024
fe148a7
RectanglerROIStartEndThreshold on multiple planes
Celian-abd Feb 28, 2024
64472e6
api updates
Celian-abd Feb 28, 2024
f030c88
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Feb 28, 2024
2348d3a
rename param
Celian-abd Feb 28, 2024
32dff0c
fix comment
Celian-abd Feb 28, 2024
ad553c1
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Feb 29, 2024
22989fd
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Mar 4, 2024
ec686c2
remove console log
Celian-abd Mar 4, 2024
9a20f35
api updates
Celian-abd Mar 4, 2024
28402b9
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Mar 11, 2024
e97f728
fix triggerannotationModified
Celian-abd Mar 11, 2024
1a019f9
fixes
Celian-abd Mar 12, 2024
233f6a1
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Mar 12, 2024
9d5c2cd
api updates
Celian-abd Mar 12, 2024
a167209
test
Celian-abd Apr 3, 2024
6aa8ca1
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Apr 3, 2024
59cd1b6
added textbox with basic stats + updated logic for non-acquisition pl…
Celian-abd Apr 5, 2024
c4f8799
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Apr 5, 2024
8267877
api update
Celian-abd Apr 5, 2024
9728182
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd May 27, 2024
4ce3d22
fix import
Celian-abd May 27, 2024
e9d7956
Merge branch 'main' of github.com:cornerstonejs/cornerstone3D into pr…
sedghi May 28, 2024
f1a2c1a
refactor(segmentation): Update ROI tools to improve performance and a…
sedghi May 28, 2024
f3b85ca
Merge branch 'main' of github.com:cornerstonejs/cornerstone3D into pr…
sedghi May 28, 2024
6c2c043
Merge branch 'main' of github.com:cornerstonejs/cornerstone3D into pr…
sedghi May 31, 2024
c03b70b
Updated Rectangle and Circle ROIStartEnd
Celian-abd Jun 7, 2024
c3c9710
Merge branch 'main' of https:/cornerstonejs/cornerstone3D…
Celian-abd Jun 7, 2024
1762ea8
Merge branch 'CircleThresholdTool-improvements' of https:…
sedghi Jun 21, 2024
2afae3a
Merge branch 'main' of github.com:cornerstonejs/cornerstone3D into pr…
sedghi Jun 21, 2024
485cf23
update
sedghi Jun 21, 2024
ba773d7
update
sedghi Jun 21, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 66 additions & 19 deletions common/reviews/api/tools.api.md
Original file line number Diff line number Diff line change
Expand Up @@ -1035,15 +1035,26 @@ interface CircleROIStartEndThresholdAnnotation extends Annotation {
// (undocumented)
data: {
label: string;
startSlice: number;
endSlice: number;
startCoordinate: number;
endCoordinate: number;
cachedStats?: {
pointsInVolume: Types_2.Point3[];
projectionPoints: Types_2.Point3[][];
statistics?: ROICachedStats | any[];
};
handles: {
points: [Types_2.Point3, Types_2.Point3];
activeHandleIndex: number | null;
textBox?: {
hasMoved: boolean;
worldPosition: Types_2.Point3;
worldBoundingBox: {
topLeft: Types_2.Point3;
topRight: Types_2.Point3;
bottomLeft: Types_2.Point3;
bottomRight: Types_2.Point3;
};
};
};
};
// (undocumented)
Expand Down Expand Up @@ -1081,28 +1092,34 @@ export class CircleROIStartEndThresholdTool extends CircleROITool {
};
data: {
label: string;
startSlice: number;
endSlice: number;
startCoordinate: number;
endCoordinate: number;
handles: {
textBox: {
hasMoved: boolean;
worldPosition: any;
worldBoundingBox: any;
worldPosition: Types_2.Point3;
worldBoundingBox: {
topLeft: Types_2.Point3;
topRight: Types_2.Point3;
bottomLeft: Types_2.Point3;
bottomRight: Types_2.Point3;
};
};
points: [Types_2.Point3, Types_2.Point3];
activeHandleIndex: any;
};
cachedStats: {
pointsInVolume: any[];
projectionPoints: any[];
statistics: any[];
};
labelmapUID: any;
};
};
// (undocumented)
_calculateCachedStatsTool(annotation: any, enabledElement: any): any;
// (undocumented)
_computePointsInsideVolume(annotation: any, imageVolume: any, enabledElement: any): void;
_computePointsInsideVolume(annotation: any, imageVolume: any, targetId: any, enabledElement: any): void;
// (undocumented)
_computeProjectionPoints(annotation: CircleROIStartEndThresholdAnnotation, imageVolume: Types_2.IImageVolume): void;
// (undocumented)
Expand All @@ -1116,11 +1133,13 @@ export class CircleROIStartEndThresholdTool extends CircleROITool {
// (undocumented)
_endCallback: (evt: EventTypes_2.InteractionEventType) => void;
// (undocumented)
_getEndSliceIndex(imageVolume: Types_2.IImageVolume, worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
_getCoordinateForViewplaneNormal(pos: vec3 | number, viewPlaneNormal: Types_2.Point3): number | undefined;
// (undocumented)
_getEndCoordinate(worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
// (undocumented)
_getImageIdIndex(imageVolume: Types_2.IImageVolume, pos: vec3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
_getIndexOfCoordinatesForViewplaneNormal(viewPlaneNormal: Types_2.Point3): number;
// (undocumented)
_getStartSliceIndex(imageVolume: Types_2.IImageVolume, worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
_getStartCoordinate(worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
// (undocumented)
isDrawing: boolean;
// (undocumented)
Expand Down Expand Up @@ -1875,6 +1894,7 @@ const _default: {
filterAnnotationsForDisplay: typeof filterAnnotationsForDisplay;
getPointInLineOfSightWithCriteria: typeof getPointInLineOfSightWithCriteria;
isPlaneIntersectingAABB: (origin: any, normal: any, minX: any, minY: any, minZ: any, maxX: any, maxY: any, maxZ: any) => boolean;
filterAnnotationsWithinSamePlane: typeof filterAnnotationsWithinSamePlane;
};

// @public (undocumented)
Expand Down Expand Up @@ -2397,6 +2417,9 @@ function extractWindowLevelRegionToolData(viewport: any): {
// @public (undocumented)
function filterAnnotationsForDisplay(viewport: Types_2.IViewport, annotations: Annotations, filterOptions?: Types_2.ReferenceCompatibleOptions): Annotations;

// @public (undocumented)
function filterAnnotationsWithinSamePlane(annotations: Annotations, camera: Types_2.ICamera): Annotations;

// @public (undocumented)
function filterAnnotationsWithinSlice(annotations: Annotations, camera: Types_2.ICamera, spacingInNormalDirection: number): Annotations;

Expand Down Expand Up @@ -3855,7 +3878,8 @@ declare namespace planar {
getWorldWidthAndHeightFromCorners,
filterAnnotationsForDisplay,
getPointInLineOfSightWithCriteria,
isPlaneIntersectingAABB
isPlaneIntersectingAABB,
filterAnnotationsWithinSamePlane
}
}

Expand Down Expand Up @@ -4166,16 +4190,27 @@ interface RectangleROIStartEndThresholdAnnotation extends Annotation {
// (undocumented)
data: {
label: string;
startSlice: number;
endSlice: number;
startCoordinate: number;
endCoordinate: number;
cachedStats: {
pointsInVolume: Types_2.Point3[];
projectionPoints: Types_2.Point3[][];
projectionPointsImageIds: string[];
statistics?: ROICachedStats | any[];
};
handles: {
points: Types_2.Point3[];
activeHandleIndex: number | null;
textBox: {
hasMoved: boolean;
worldPosition: Types_2.Point3;
worldBoundingBox: {
topLeft: Types_2.Point3;
topRight: Types_2.Point3;
bottomLeft: Types_2.Point3;
bottomRight: Types_2.Point3;
};
};
};
};
// (undocumented)
Expand Down Expand Up @@ -4213,18 +4248,24 @@ export class RectangleROIStartEndThresholdTool extends RectangleROITool {
};
data: {
label: string;
startSlice: number;
endSlice: number;
startCoordinate: number;
endCoordinate: number;
cachedStats: {
pointsInVolume: any[];
projectionPoints: any[];
projectionPointsImageIds: any[];
statistics: any[];
};
handles: {
textBox: {
hasMoved: boolean;
worldPosition: any;
worldBoundingBox: any;
worldPosition: Types_2.Point3;
worldBoundingBox: {
topLeft: Types_2.Point3;
topRight: Types_2.Point3;
bottomLeft: Types_2.Point3;
bottomRight: Types_2.Point3;
};
};
points: Types_2.Point3[];
activeHandleIndex: any;
Expand All @@ -4235,7 +4276,7 @@ export class RectangleROIStartEndThresholdTool extends RectangleROITool {
// (undocumented)
_calculateCachedStatsTool(annotation: any, enabledElement: any): any;
// (undocumented)
_computePointsInsideVolume(annotation: any, imageVolume: any, enabledElement: any): void;
_computePointsInsideVolume(annotation: any, targetId: any, imageVolume: any, enabledElement: any): void;
// (undocumented)
_computeProjectionPoints(annotation: RectangleROIStartEndThresholdAnnotation, imageVolume: Types_2.IImageVolume): void;
// (undocumented)
Expand All @@ -4249,7 +4290,13 @@ export class RectangleROIStartEndThresholdTool extends RectangleROITool {
// (undocumented)
_endCallback: (evt: EventTypes_2.InteractionEventType) => void;
// (undocumented)
_getEndSliceIndex(imageVolume: Types_2.IImageVolume, worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
_getCoordinateForViewplaneNormal(pos: vec3 | number, viewPlaneNormal: Types_2.Point3): number | undefined;
// (undocumented)
_getEndCoordinate(worldPos: Types_2.Point3, spacingInNormal: number, viewPlaneNormal: Types_2.Point3): number | undefined;
// (undocumented)
_getIndexOfCoordinatesForViewplaneNormal(viewPlaneNormal: Types_2.Point3): number;
// (undocumented)
_getStartCoordinate(worldPos: Types_2.Point3, viewPlaneNormal: Types_2.Point3): number | undefined;
// (undocumented)
isDrawing: boolean;
// (undocumented)
Expand Down
Loading