Appearance
copper3d / Modules / Utils/segmentation/DrawToolCore / DrawToolCore
Class: DrawToolCore
Utils/segmentation/DrawToolCore.DrawToolCore
Hierarchy
↳
DrawToolCore↳↳
NrrdTools
Table of contents
Constructors
Properties
- baseCanvasesSize
- container
- contrastEventPrameters
- cursorPage
- drawingPrameters
- eraserUrls
- gui_states
- mainAreaContainer
- nrrd_states
- pencilUrls
- protectedData
- start
- undoArray
Methods
- checkSharedPlaceSlice
- clearPaint
- clearSphereCanvas
- clearSpherePrintStoreImages
- clearStoreImages
- configContrastDragMode
- configMouseSliceWheel
- configMouseSphereWheel
- configMouseZoomWheel
- convertCursorPoint
- createEmptyPaintImage
- draw
- drawCalSphereDown
- drawCalSphereUp
- drawCalculatorSphere
- drawCalculatorSphereOnEachViews
- drawImageOnEmptyImage
- drawLine
- drawLinesOnLayer
- drawSphere
- drawSphereCore
- drawSphereOnEachViews
- enableCrosshair
- filterDrawedImage
- findSliceInSharedPlace
- flipDisplayImageByAxis
- getCurrentUndo
- getRestLabel
- getSpherePosition
- initAllCanvas
- initDrawToolCore
- paintOnCanvas
- paintOnCanvasLayer
- redrawDisplayCanvas
- removeContrastDragMode
- replaceArray
- replaceHorizontalRowPixels
- replaceVerticalColPixels
- repraintCurrentContrastSlice
- resetLayerCanvas
- resetPaintAreaUIPosition
- resizePaintArea
- setCurrentLayer
- setEmptyCanvasSize
- setEraserUrls
- setIsDrawFalse
- setPencilIconUrls
- setSphereCanvasSize
- setSyncsliceNum
- setUpSphereOrigins
- setupConrastEvents
- sliceArrayH
- sliceArrayV
- storeAllImages
- storeEachLayerImage
- storeImageToAxis
- storeImageToLabel
- storeSphereImages
- undoLastPainting
- updateOriginAndChangedWH
- updateSlicesContrast
- useEraser
- zoomActionAfterDrawSphere
Constructors
constructor
• new DrawToolCore(container)
Parameters
| Name | Type |
|---|---|
container | HTMLElement |
Overrides
Defined in
src/Utils/segmentation/DrawToolCore.ts:49
Properties
baseCanvasesSize
• baseCanvasesSize: number = 1
Inherited from
CommToolsData.baseCanvasesSize
Defined in
src/Utils/segmentation/CommToolsData.ts:15
container
• container: HTMLElement
Defined in
src/Utils/segmentation/DrawToolCore.ts:16
contrastEventPrameters
• contrastEventPrameters: IContrastEvents
Defined in
src/Utils/segmentation/DrawToolCore.ts:29
cursorPage
• cursorPage: ICursorPage
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:90
drawingPrameters
• drawingPrameters: IDrawingEvents
Defined in
src/Utils/segmentation/DrawToolCore.ts:18
eraserUrls
• eraserUrls: string[] = []
Defined in
src/Utils/segmentation/DrawToolCore.ts:42
gui_states
• gui_states: IGUIStates
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:111
mainAreaContainer
• mainAreaContainer: HTMLDivElement
Defined in
src/Utils/segmentation/DrawToolCore.ts:17
nrrd_states
• nrrd_states: INrrdStates
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:16
pencilUrls
• pencilUrls: string[] = []
Defined in
src/Utils/segmentation/DrawToolCore.ts:43
protectedData
• protectedData: IProtected
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:163
start
• start: () => void
Type declaration
▸ (): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:47
undoArray
• undoArray: IUndoType[] = []
Defined in
src/Utils/segmentation/DrawToolCore.ts:44
Methods
checkSharedPlaceSlice
▸ checkSharedPlaceSlice(width, height, imageData): Uint8ClampedArray
**************************** Utils for store image and itksnap core *************************************
Parameters
| Name | Type |
|---|---|
width | number |
height | number |
imageData | ImageData |
Returns
Uint8ClampedArray
Defined in
src/Utils/segmentation/DrawToolCore.ts:1953
clearPaint
▸ clearPaint(): void
Clear mask on current slice canvas
Returns
void
Overrides
Defined in
src/Utils/segmentation/DrawToolCore.ts:1488
clearSphereCanvas
▸ Private clearSphereCanvas(): (HTMLCanvasElement | CanvasRenderingContext2D)[]
Returns
(HTMLCanvasElement | CanvasRenderingContext2D)[]
Defined in
src/Utils/segmentation/DrawToolCore.ts:1300
clearSpherePrintStoreImages
▸ Private clearSpherePrintStoreImages(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:231
clearStoreImages
▸ clearStoreImages(): void
Rewrite this {clearStoreImages} function under NrrdTools
Returns
void
Inherited from
CommToolsData.clearStoreImages
Defined in
src/Utils/segmentation/CommToolsData.ts:251
configContrastDragMode
▸ configContrastDragMode(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:2098
configMouseSliceWheel
▸ configMouseSliceWheel(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1029
configMouseSphereWheel
▸ Private configMouseSphereWheel(): (e: WheelEvent) => void
Returns
fn
▸ (e): void
Parameters
| Name | Type |
|---|---|
e | WheelEvent |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1223
configMouseZoomWheel
▸ configMouseZoomWheel(): (e: WheelEvent) => void
Returns
fn
▸ (e): void
Parameters
| Name | Type |
|---|---|
e | WheelEvent |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:973
convertCursorPoint
▸ convertCursorPoint(from, to, cursorNumX, cursorNumY, currentSliceIndex): undefined | { convertCursorNumX: number ; convertCursorNumY: number ; currentIndex: number ; oldIndex: number }
We generate the MRI slice from threejs based on mm, but when we display it is based on pixel size/distance. So, the index munber on each axis (sagittal, axial, coronal) is the slice's depth in mm distance. And the width and height displayed on screen is the slice's width and height in pixel distance.
When we switch into different axis' views, we need to convert current view's the depth to the pixel distance in other views width or height, and convert the current view's width or height from pixel distance to mm distance as other views' depth (slice index) in general.
Then as for the crosshair (Cursor Inspector), we also need to convert the cursor point (x, y, z) to other views' (x, y, z).
Parameters
| Name | Type | Description |
|---|---|---|
from | "z" | "y" | "x" | "x" | "y" | "z", current view axis, "x: sagittle, y: coronal, z: axial". |
to | "z" | "y" | "x" | "x" | "y" | "z", target view axis (where you want jump to), "x: sagittle, y: coronal, z: axial". |
cursorNumX | number | number, cursor point x on current axis's slice. (pixel distance) |
cursorNumY | number | number, cursor point y on current axis's slice. (pixel distance) |
currentSliceIndex | number | number, current axis's slice's index/depth. (mm distance) |
Returns
undefined | { convertCursorNumX: number ; convertCursorNumY: number ; currentIndex: number ; oldIndex: number }
Overrides
CommToolsData.convertCursorPoint
Defined in
src/Utils/segmentation/DrawToolCore.ts:1331
createEmptyPaintImage
▸ createEmptyPaintImage(dimensions, paintImages): void
Rewrite this {createEmptyPaintImage} function under NrrdTools
Parameters
| Name | Type |
|---|---|
dimensions | number[] |
paintImages | IPaintImages |
Returns
void
Inherited from
CommToolsData.createEmptyPaintImage
Defined in
src/Utils/segmentation/CommToolsData.ts:259
draw
▸ draw(opts?): void
Parameters
| Name | Type |
|---|---|
opts? | IDrawOpts |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:148
drawCalSphereDown
▸ drawCalSphereDown(x, y, sliceIndex, cal_position): void
Parameters
| Name | Type |
|---|---|
x | number |
y | number |
sliceIndex | number |
cal_position | "tumour" | "skin" | "nipple" | "ribcage" |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:157
drawCalSphereUp
▸ drawCalSphereUp(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:202
drawCalculatorSphere
▸ drawCalculatorSphere(radius): void
Parameters
| Name | Type |
|---|---|
radius | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1245
drawCalculatorSphereOnEachViews
▸ drawCalculatorSphereOnEachViews(axis): void
Parameters
| Name | Type |
|---|---|
axis | "z" | "y" | "x" |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1079
drawImageOnEmptyImage
▸ drawImageOnEmptyImage(canvas): void
Parameters
| Name | Type |
|---|---|
canvas | HTMLCanvasElement |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1060
drawLine
▸ Private drawLine(x1, y1, x2, y2): void
***********************************May consider to move outside ******************************************
Parameters
| Name | Type |
|---|---|
x1 | number |
y1 | number |
x2 | number |
y2 | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:831
drawLinesOnLayer
▸ Private drawLinesOnLayer(ctx, x, y): void
Parameters
| Name | Type |
|---|---|
ctx | CanvasRenderingContext2D |
x | number |
y | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:839
drawSphere
▸ drawSphere(mouseX, mouseY, radius): void
Parameters
| Name | Type |
|---|---|
mouseX | number |
mouseY | number |
radius | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1276
drawSphereCore
▸ Private drawSphereCore(ctx, x, y, radius, color): void
Parameters
| Name | Type | Description |
|---|---|---|
ctx | CanvasRenderingContext2D | draw sphere canvas ctx |
x | number | width must be match the origin size, size factor 1, ignore the size factor |
y | number | height must be match the origin size, size factor 1, ignore the size factor |
radius | number | radius must be match the origin size, size factor 1, ignore the size factor |
color | string | sphere color |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1186
drawSphereOnEachViews
▸ Private drawSphereOnEachViews(decay, axis): void
Parameters
| Name | Type |
|---|---|
decay | number |
axis | "z" | "y" | "x" |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1148
enableCrosshair
▸ Private enableCrosshair(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1039
filterDrawedImage
▸ filterDrawedImage(axis, sliceIndex, paintedImages): IPaintImage
Get a painted mask image (IPaintImage) based on current axis and input slice index.
Parameters
| Name | Type | Description |
|---|---|---|
axis | "z" | "y" | "x" | "x" | "y" | "z" |
sliceIndex | number | number |
paintedImages | IPaintImages | IPaintImages, All painted mask images. |
Returns
IPaintImage
Inherited from
CommToolsData.filterDrawedImage
Defined in
src/Utils/segmentation/CommToolsData.ts:362
findSliceInSharedPlace
▸ findSliceInSharedPlace(): ImageData[]
Returns
ImageData[]
Defined in
src/Utils/segmentation/DrawToolCore.ts:1993
flipDisplayImageByAxis
▸ flipDisplayImageByAxis(): void
Rewrite this {flipDisplayImageByAxis} function under NrrdTools
Returns
void
Inherited from
CommToolsData.flipDisplayImageByAxis
Defined in
src/Utils/segmentation/CommToolsData.ts:294
getCurrentUndo
▸ Private getCurrentUndo(): IUndoType[]
************************** Undo clear functions***************************************************
Returns
IUndoType[]
Defined in
src/Utils/segmentation/DrawToolCore.ts:1479
getRestLabel
▸ getRestLabel(): ("label1" | "label2" | "label3")[]
label div controls*************************
Returns
("label1" | "label2" | "label3")[]
Defined in
src/Utils/segmentation/DrawToolCore.ts:1469
getSpherePosition
▸ Private getSpherePosition(position, axis): Object
Sphere calculate distance functions*************************
Parameters
| Name | Type |
|---|---|
position | ICommXYZ |
axis | "z" | "y" | "x" |
Returns
Object
| Name | Type |
|---|---|
x | any |
y | any |
z | any |
Defined in
src/Utils/segmentation/DrawToolCore.ts:1072
initAllCanvas
▸ Private initAllCanvas(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:874
initDrawToolCore
▸ Private initDrawToolCore(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:58
paintOnCanvas
▸ Private paintOnCanvas(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:241
paintOnCanvasLayer
▸ Private paintOnCanvasLayer(x, y): void
Parameters
| Name | Type |
|---|---|
x | number |
y | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:862
redrawDisplayCanvas
▸ redrawDisplayCanvas(): void
Rewrite this {redrawDisplayCanvas} function under NrrdTools
Returns
void
Inherited from
CommToolsData.redrawDisplayCanvas
Defined in
src/Utils/segmentation/CommToolsData.ts:348
removeContrastDragMode
▸ removeContrastDragMode(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:2112
replaceArray
▸ replaceArray(mainArr, replaceArr): void
Parameters
| Name | Type |
|---|---|
mainArr | number[] | Uint8ClampedArray |
replaceArr | number[] | Uint8ClampedArray |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1980
replaceHorizontalRowPixels
▸ replaceHorizontalRowPixels(paintImageArray, length, ratio, markedArr, targetWidth, convertIndex): void
Parameters
| Name | Type | Description |
|---|---|---|
paintImageArray | IPaintImage[] | : the target view slice's marked images array |
length | number | : the target view slice's dimention (total slice index num) |
ratio | number | : the target slice image's width/height ratio of its dimention length |
markedArr | number[][] | Uint8ClampedArray[] | : current painted image's horizontal 2d Array |
targetWidth | number | : the target image width |
convertIndex | number | : Mapping current image's index to target slice image's width/height pixel start point |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1932
replaceVerticalColPixels
▸ replaceVerticalColPixels(paintImageArray, length, ratio, markedArr, targetWidth, convertIndex): void
Parameters
| Name | Type | Description |
|---|---|---|
paintImageArray | IPaintImage[] | : the target view slice's marked images array |
length | number | : the target view slice's dimention (total slice index num) |
ratio | number | : the target slice image's width/height ratio of its dimention length |
markedArr | number[][] | Uint8ClampedArray[] | : current painted image's vertical 2d Array |
targetWidth | number | : the target image width |
convertIndex | number | : Mapping current image's index to target slice image's width/height pixel start point |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1899
repraintCurrentContrastSlice
▸ repraintCurrentContrastSlice(): void
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:2162
resetLayerCanvas
▸ resetLayerCanvas(): void
Rewrite this {resetLayerCanvas} function under NrrdTools
Returns
void
Inherited from
CommToolsData.resetLayerCanvas
Defined in
src/Utils/segmentation/CommToolsData.ts:332
resetPaintAreaUIPosition
▸ resetPaintAreaUIPosition(l?, t?): void
Rewrite this {resetPaintAreaUIPosition} function under NrrdTools
Parameters
| Name | Type |
|---|---|
l? | number |
t? | number |
Returns
void
Inherited from
CommToolsData.resetPaintAreaUIPosition
Defined in
src/Utils/segmentation/CommToolsData.ts:302
resizePaintArea
▸ resizePaintArea(factor): void
Rewrite this {resizePaintArea} function under NrrdTools
Parameters
| Name | Type |
|---|---|
factor | number |
Returns
void
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:270
setCurrentLayer
▸ Private setCurrentLayer(): Object
Returns
Object
| Name | Type |
|---|---|
canvas | HTMLCanvasElement |
ctx | CanvasRenderingContext2D |
Defined in
src/Utils/segmentation/DrawToolCore.ts:124
setEmptyCanvasSize
▸ setEmptyCanvasSize(axis?): void
Rewrite this {resetPaintAreaUIPosition} function under NrrdTools
Parameters
| Name | Type |
|---|---|
axis? | "z" | "y" | "x" |
Returns
void
Inherited from
CommToolsData.setEmptyCanvasSize
Defined in
src/Utils/segmentation/CommToolsData.ts:310
setEraserUrls
▸ setEraserUrls(urls): void
Parameters
| Name | Type |
|---|---|
urls | string[] |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:111
setIsDrawFalse
▸ setIsDrawFalse(target): void
Rewrite this {setIsDrawFalse} function under NrrdTools
Parameters
| Name | Type |
|---|---|
target | number |
Returns
void
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:278
setPencilIconUrls
▸ setPencilIconUrls(urls): void
Parameters
| Name | Type |
|---|---|
urls | string[] |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:114
setSphereCanvasSize
▸ Private setSphereCanvasSize(axis?): void
Parameters
| Name | Type |
|---|---|
axis? | "z" | "y" | "x" |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1200
setSyncsliceNum
▸ setSyncsliceNum(): void
Rewrite this {setSyncsliceNum} function under NrrdTools
Returns
void
Inherited from
Defined in
src/Utils/segmentation/CommToolsData.ts:340
setUpSphereOrigins
▸ Private setUpSphereOrigins(mouseX, mouseY, sliceIndex): void
Parameters
| Name | Type |
|---|---|
mouseX | number |
mouseY | number |
sliceIndex | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1426
setupConrastEvents
▸ setupConrastEvents(callback): void
Set up root container events fns for drag function
Parameters
| Name | Type |
|---|---|
callback | (step: number, towards: "horizental" | "vertical") => void |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:2045
sliceArrayH
▸ sliceArrayH(arr, row, col): Uint8ClampedArray[]
Parameters
| Name | Type |
|---|---|
arr | Uint8ClampedArray |
row | number |
col | number |
Returns
Uint8ClampedArray[]
Defined in
src/Utils/segmentation/DrawToolCore.ts:1861
sliceArrayV
▸ sliceArrayV(arr, row, col): number[][]
Parameters
| Name | Type |
|---|---|
arr | Uint8ClampedArray |
row | number |
col | number |
Returns
number[][]
Defined in
src/Utils/segmentation/DrawToolCore.ts:1872
storeAllImages
▸ storeAllImages(index, label): void
Parameters
| Name | Type |
|---|---|
index | number |
label | string |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1618
storeEachLayerImage
▸ storeEachLayerImage(index, label): void
Parameters
| Name | Type |
|---|---|
index | number |
label | string |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1819
storeImageToAxis
▸ storeImageToAxis(index, paintedImages, imageData, axis?): void
Store images*************************
Parameters
| Name | Type |
|---|---|
index | number |
paintedImages | IPaintImages |
imageData | ImageData |
axis? | "z" | "y" | "x" |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1584
storeImageToLabel
▸ storeImageToLabel(index, canvas, paintedImages): ImageData
Parameters
| Name | Type |
|---|---|
index | number |
canvas | HTMLCanvasElement |
paintedImages | IPaintImages |
Returns
ImageData
Defined in
src/Utils/segmentation/DrawToolCore.ts:1799
storeSphereImages
▸ Private storeSphereImages(index, axis): void
Sphere functions*************************
Parameters
| Name | Type |
|---|---|
index | number |
axis | "z" | "y" | "x" |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:1131
undoLastPainting
▸ undoLastPainting(): void
Rewrite this {undoLastPainting} function under DrawToolCore
Returns
void
Overrides
CommToolsData.undoLastPainting
Defined in
src/Utils/segmentation/DrawToolCore.ts:1507
updateOriginAndChangedWH
▸ updateOriginAndChangedWH(): void
Rewrite this {updateOriginAndChangedWH} function under NrrdTools
Returns
void
Inherited from
CommToolsData.updateOriginAndChangedWH
Defined in
src/Utils/segmentation/CommToolsData.ts:286
updateSlicesContrast
▸ updateSlicesContrast(value, flag): void
Parameters
| Name | Type |
|---|---|
value | number |
flag | string |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:2136
useEraser
▸ Private useEraser(): (x: number, y: number, radius: number) => void
Returns
fn
▸ (x, y, radius): void
Parameters
| Name | Type |
|---|---|
x | number |
y | number |
radius | number |
Returns
void
Defined in
src/Utils/segmentation/DrawToolCore.ts:932
zoomActionAfterDrawSphere
▸ Private zoomActionAfterDrawSphere(): void
Returns
void