All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
1.19.0 (2023-09-27)
1.18.0 (2023-09-26)
1.17.1 (2023-09-25)
1.17.0 (2023-09-25)
1.16.6 (2023-09-21)
1.16.5 (2023-09-19)
1.16.4 (2023-09-18)
1.16.3 (2023-09-18)
1.16.2 (2023-09-18)
- invert: Resetting the stack viewport properties should revert to the image's original invert setting (#786) (027a737)
1.16.1 (2023-09-14)
1.16.0 (2023-09-12)
1.15.1 (2023-09-12)
1.15.0 (2023-09-12)
1.14.4 (2023-09-07)
- measurements: The image stack sync tool fails to work on non-FOR instances and hangs the browser (#642) (cd5efa0)
1.14.3 (2023-09-07)
1.14.2 (2023-09-07)
1.14.1 (2023-09-07)
1.14.0 (2023-09-07)
1.13.3 (2023-09-06)
1.13.2 (2023-09-05)
Note: Version bump only for package root
1.13.1 (2023-09-01)
1.13.0 (2023-08-30)
1.12.1 (2023-08-30)
- modifier key: reset modifier keys when browser tab loses focus/is hidden (#759) (2602ec6), closes #733
1.12.0 (2023-08-29)
1.11.4 (2023-08-29)
- BaseVolumeViewport: when the volume actors are explicitly set, reset the inverted flag too (#756) (2258093)
1.11.3 (2023-08-28)
1.11.2 (2023-08-22)
1.11.1 (2023-08-21)
1.11.0 (2023-08-21)
1.10.5 (2023-08-21)
Note: Version bump only for package root
1.10.4 (2023-08-17)
1.10.3 (2023-08-15)
Note: Version bump only for package root
1.10.2 (2023-08-15)
1.10.1 (2023-08-09)
Note: Version bump only for package root
1.10.0 (2023-08-02)
1.9.3 (2023-08-02)
1.9.2 (2023-08-01)
Note: Version bump only for package root
1.9.1 (2023-07-31)
- loader: Load colour images correctly when specified Float32Array (#702) (29f6619), closes #699 #706 #705
1.9.0 (2023-07-28)
1.8.1 (2023-07-28)
1.8.0 (2023-07-28)
1.7.2 (2023-07-27)
1.7.1 (2023-07-27)
Note: Version bump only for package root
1.7.0 (2023-07-26)
1.6.0 (2023-07-21)
1.5.0 (2023-07-18)
- viewportStatus: Have renderedState to store the status of whether an image has been rendered yet (#694) (eeef233)
1.4.6 (2023-07-14)
Note: Version bump only for package root
1.4.5 (2023-07-14)
1.4.4 (2023-07-13)
1.4.3 (2023-07-12)
1.4.2 (2023-07-11)
1.4.1 (2023-07-04)
1.4.0 (2023-07-04)
1.3.0 (2023-07-04)
1.2.9 (2023-07-03)
1.2.8 (2023-06-27)
1.2.7 (2023-06-20)
1.2.6 (2023-06-14)
- stack: invalidate stack if the next image is different PI (#631) (24ae3c9)
- types: fix the signature of resize method (#630) (7b6f855)
1.2.5 (2023-06-14)
1.2.4 (2023-06-13)
Note: Version bump only for package root
1.2.3 (2023-06-13)
Note: Version bump only for package root
1.2.2 (2023-06-13)
1.2.1 (2023-06-13)
1.2.0 (2023-06-12)
1.1.9 (2023-06-12)
1.1.8 (2023-06-09)
1.1.7 (2023-06-09)
Note: Version bump only for package root
1.1.6 (2023-06-01)
- Cobb Angle: use the two closest line segment points as the tail of each respectful vector (#634) (8311de3)
1.1.5 (2023-05-23)
1.1.4 (2023-05-23)
1.1.3 (2023-05-23)
1.1.2 (2023-05-23)
Note: Version bump only for package root
1.1.1 (2023-05-23)
1.1.0 (2023-05-22)
0.103.0 (2023-05-22)
- cornerstone3D version 1
0.102.0 (2023-05-22)
- breaking change bump major
- #186: Expose Synchronizer Class at top level (#188) (2f7ed66), closes #186
- 🐛 adding readme notes (#191) (459260d)
- 🐛 fix array format regression from commit 70b24332783d63c9db2ed21d512d9f7b526c5222 (#236) (5441063)
- 🐛 Fix rotation mapping for SEG cornerstone adapter (#151) (3fab68c)
- 🐛 Harden Segmentation import for different possible SEGs (#146) (c4952bc)
- 🐛 IDC Re #2003: fix regression in parsing segmentation orietations (#220) (5c0c6a8)
- 🐛 IDC2733: find segmentations reference source image Ids (#253) (f3e7101)
- 🐛 ignore frames without SourceImageSequence information when loading a segmentation (#198) (82709c4)
- 🐛 indentation in nearlyEqual (#202) (989d6c9)
- 🐛 relax condition in nearlyEquals check for detecting numbers near to zero (#304) (974cddd)
- 🐛 When converting to multiframe, fix IPP issues (#152) (80496e4)
- 180: Avoid throwing exception for missing transfer syntax decoder (#181) (874d7e6)
- adapter: Removed comment around getTID300RepresentationArguments 'tool' parameter (#322) (d8f05ff), closes #306
- adapters: Measurement reports can throw exceptions that prevent loading (#458) (7bc7d8a)
- adapters: Update rollup to newer version (#407) (543675f)
- adapters: Update the build a little to allow debugging into typescript (#439) (05e6419)
- adapter: The rectangle encoding of SR (#437) (bff23ec)
- add check for nullable numeric string vrs: adds a check for nullable numeric strinv vrs (#150) (75046c4)
- Add coplanar check in stackImageSync callback (#335) (f806177)
- add extra missing exports and no static code block at build (#179) (dfdc4bf)
- add getProperties method, rename voi to voiRange for clarity (#194) (d0d861d)
- Add requestAnimationFrame handler for updating SVGs independently, stop re-rendering every viewport on crosshairs render (#160) (8a84ead)
- add src folder to package json to improve source maps (#499) (aea4406)
- Add storeAsInitialCamera parameter to StackViewport.setCamera (#228) (b951acc)
- Add support for YBR_FULL_422 photometric interpretation (#304) (2b57c08)
- Address issues with CPU Flip (#132) (62b2843)
- Address issues with example deployment (#357) (c29e738)
- Address type issues preventing build from running (#131) (81080c7)
- adjust canvas, not only off screen renderer on resize (#279) (1959ac7)
- Allow synchronizers to work with Stack Viewports (#192) (897573b)
- AngleTool not working after cancellation (#342) (a82c0bc)
- annotation hidden on horizontal and vertical (#205) (9e825fd)
- annotation rendering engine on viewport removal (#303) (aeb205e)
- annotation unit hydration bug and more color image support (#151) (4f157dc)
- annotations throwing error when stack and volume viewports are converted (#195) (ed23f05)
- annotations: fix triggering of 'ANNOTATION_ADDED' event multiple times (#570) (#584) (f8e75f3)
- anonymizer: [FIX & TESTS] cleanTags : check if param is undefined. Add 3 test (#308) (44d23d6)
- ArrowAnnotateTool adapter in Cornerstone3D parsing label (#270) (cb84979)
- arrowTool: trigger ANNOTATION_MODIFIED event on ArrowAnnotate Tool (#610) (b67c3b8)
- Attempt to fix build issues @haehn has reported (#144) (2a7ec92)
- Attempt to resolve incompatible peerDeps situation (#98) (00f141b)
- autoPan for synced viewports (28197b3)
- avoid using replaceAll() which isn't available in Node.js 14 (#296) (7aac3ab)
- bidirectional tool when short and long axis changes (#309) (f973e72)
- binding: fix this binding (#521) (1d44728)
- broken export of getPTImageIdInstanceMetadata (#259) (2943b7b)
- bug in the setStartSlice logic (4b670cd)
- bug tolerance parameter was not propagated (#241) (c2ed627)
- Bugs for labelmapIndex 0 conditionals, review comments (b05eae5)
- build error for tools (8289521)
- build errors for segmentation tools (7973fa8)
- Build issue caused by import changes (#484) (d79cd58)
- build: adapters build missing files (#400) (901dd88)
- build: add build command back (#413) (97ccd76)
- build: Adding exports and files (#398) (2e8101f)
- build: fixing publish of adapters in package json (#396) (5a45b2f)
- build: fixing test for dicom loader (#414) (c41b443)
- build: Include adapters in circleci config (#402) (45c8416)
- build: prepublish for dicomImageLoader (#415) (20589a1)
- build: try to publish adapters (#395) (191a17b)
- build: update to build repo (#410) (2f8def1)
- byteLength calculation (#314) (743142b)
- cachedStatistics throttling and textBox rendering (#329) (3f296ae)
- calibration: Apply the calibration update only once (#577) (0641930)
- Camera events for flip and rotation changes (#83) (82115ec)
- camera position with new dynamic image data positoin (34ad563)
- change package.json 'module' field to use '.js' extension from '.ts' (#65) (42f66c2)
- checking the length before writing a DS and using exponential if (#176) (601aa9e)
- Circle and VolumeViewport: fixes to ensure measurements are rendered properly (#609) (293e6b1)
- circleScissor bug that rendered the tool in other viewports (a3b7e54)
- cleanup exports, add docs and more tutorials (#39) (743dea8)
- Cleanup magnify canvas on mouse up (#135) (6fd0c3f)
- coding-scheme: Fix coding scheme for updated standard (ae3f0b5)
- colored images using rgba in CPU rendering #338 (#345) (90bcc7b)
- contour: remove contour was using wrong uid (#575) (a6892a5)
- convert RGBA to RGB for GPU rendering if cached (#152) (fb8aa36)
- cornerstoneDemo is still a chafey repository (4a18e45)
- cornerstone: exceptions caused by undefined cached stats in adapters. Safe programming fix only (#301) (893be43)
- coronal view should not be flipped (#321) (a85a867)
- Correct module property for ESM builds in package.json (#66) (d53b857)
- CORS preflight for SharedArrayBuffer (8ffc804)
- could not access 'index' before initialization (#337) (f4b7ff8)
- cpu: could not render if switched to cpu in the middle (#615) (6b1d588)
- Create CrosshairSpecificToolData interface (204bae9)
- createImage fails if options are undefined (OHIF/Viewers#2239) (#353) (3cc6723)
- Crosshair and panTool for flipped viewport (#159) (35152ea)
- crosshairs for panned viewports after perf improvement (3066198)
- Crosshairs slabThickness not rendering in other viewports (d4b9147)
- crosshairs: Autopan causing infinite loop (#551) (e54dfb3)
- Crosshairs: imageNeedsUpdate should be default false (dd34d6d)
- crosshairs: Reference lines are wrongly clipped (#552) (0bc2134)
- cs: #318 - check instance's NumberOfFrames property to see if it is a multi-frame file or not (#320) (0b030a4)
- cs: Resolves #316 Cornerstone3D adaptor - Multiframe support - add "frameNumber" to the Annotation.data (#317) (5fe862e)
- dcmjs: Add a set of accessors to the sequence list so the API is more consistent (#224) (9dad6c5)
- decodeConfig was passed incorrectly to decode (#502) (ed4de89)
- default voi for volumes and webLoader (#171) (81f07a6)
- demoData: The URL was pointing to a private AWS account (#175) (69dafea)
- demos toolGroups should use toolOptions instead of tools (4a39ad0)
- dicom tag for series and studyUID (#444) (6865c70)
- dicomLoader: data type view after scaling (#463) (af1ba2e)
- DicomMessage: Fix readFile after options were added (c2b62a1)
- do deep check when adding sources/targets to synchronizers (#193) (920d317)
- docs on netlify (#183) (8b2c4a8)
- don't reset display pipeline when spacing is missing (#301) (e12fcf3)
- Double click and multi-key bindings (#571) (ebc0cf8)
- doubleClick: mouseDoubleClickIgnoreListener is now added to each viewport element instead of the document element (#429) (360e2a9), closes #375
- doubleClick: moved the mouse click/down timeout detection back into (#417) (99eea67)
- doubleClick: moved the mouse click/down timeout detection into _doMouseDown (#416) (ebd8f7b)
- drag probe appearing unnecessarily on all viewports (#204) (c292c05)
- Duplicate import of Types after rebase (#343) (ca41c43)
- elliptical roi and eventTarget (#325) (8132153)
- Elliptical roi when in flipped/rotated state (#479) (f0961ae)
- encoding: encapsulation is applied for only PixelData (#199) (ede2950), closes #194
- Enhance rendering performance by setting VTK Renderer's draw=true only for viewports that need to be rendered (#226) (3e208f1)
- Ensure d3 packages are also listed on dependencies (#146) (5747dc6)
- Ensure DS and IS Value Representations are returned as arrays (#83) (a264661)
- Event triggering on Pet SUVPeak tool (a9aba56)
- examples were using wrong image loader (#173) (b07a07a)
- exception writing NaN and Infinity values of FD tags (#325) (e86daaa)
- exception: js exception when setting invertRgbTransferFunction. safe program… (#595) (4ab5d1e)
- Export loglevelnext logger as dcmjs.log for configuration (#156) (33515e5)
- extract IRenderingEngine type, docs: add documentation search (#70) (6a705a8)
- failed tests after rebase (#344) (b660e3f)
- filter planarFreeHandeROI based on parallel normals instead of equal normals. (#315) (70e4ffa)
- Fix event for camera modified firing with wrong values (#133) (f16f994)
- Fix resize behaviour after devicePixelRatio changes (#131) (2e9d686)
- Fix UN & AT VR processing logic (#167) (#168) (7cb975a)
- fixes the memory leak for volumes (#253) (c863126)
- floodFill export in tools (#362) (700baa3)
- force a release for commit caaac4b (#240) (f53b630)
- fragment: Refactor and fragment bug (#283) (307d60a), closes #282
- fragment: write padding to even length on final fragments of encapsulated frame data (#294) (34b7561), closes #293
- get correct imageData with targetId in BaseTool (#294) (6e8e51b)
- getEnabledElement when no viewports found (f826193)
- getVolumeWithImageId if volume does not have image Ids (be9d7af)
- github links from API Docs (#143) (dc4e6f1)
- Handle cases where row and column cosines are missing (#139) (5bd0a70)
- htj2k and keymodifier (#313) (48bd8a1)
- HTML element cleanup for each test (#348) (477eebe)
- idc-02252: typo + release (#180) (3f5cb24)
- If planar annotation is not visible, filter it (#318) (ea8e32a)
- image-comments: Move ImageComments to DerivedPixels (da11200)
- imageRetrievalPoolManager should also use addToBeginning (#402) (5bd9945)
- import bug for example page (#373) (32e2718)
- import: missing import for addAccessors (#295) (6b631b6)
- improvements for usage of targetBuffer, add convertFloatPixelDataToInt flag (default true) (1f58326)
- infinite loop on dcm with no meta length (#331) (51b156b)
- init: should only check gl context and not extensions (#544) (be8b9cd)
- invalid keybindings Alt and Ctrl (#176) (d74d696)
- Invalid VR of the private creator tag of the "Implicit VR Endian" typed DICOM file (#242) (#243) (6d0552f)
- invalidated stack: GPU rendering - inheriting voiRange when recreating the default actor (#598) (457746a)
- invalidating the data for RoiStartEndThreshold (cd1535d)
- issues in binary tag parsing (#276) (60c3af1)
- js exception prevention - safe programming only (#600) (bbd2ff4)
- jumpToSlice and scaling of images in renderToCanvas (#78) (bbebf7f)
- labelmap only update cfun when needed (f0f96de)
- large image rendering, missing metadata for StackViewport, high DPI devices (#127) (d4bf1c8)
- limit disabled element not need to render for annotations (#289) (8232ed0)
- lines of ref cropping for crosshairs (#338) (f095a49)
- loading order: reversed time points requests otherwise it would load from last to first (#522) (c5acf45)
- make typescript strict true (#162) (7c311f7)
- measurement-report: Fix issues with Measurement Report for Bidirectional measurements (25cf222)
- measurement-report: Fix ReferencedFrameNumber usage in MeasurementReport (b80cd2a)
- mediaType to avoid preflight requests (#419) (90662ec)
- memory: memory leak on deletion (#531) (5788300)
- missing bind for the callLoadImage function (#380) (fd96060)
- mobile: Crosshairs highlighted for mobile (#493) (22309aa)
- monochrome1 bug for stackviewport (#378) (f542d9c)
- mouse-up should not unhighlight annotations (#305) (0ca9653)
- mouse: Avoid the delay on double click checking for right click (#560) (2c86500)
- multiframe: fix frameNumber for pixelData and windowlevel issue (#603) (6bf51b1)
- Name collision on CHANGELOG.md (#412) (aa85c22)
- naturalize: revert single element sequence (#223) (0743ed3)
- naturalizing: Fix the exception on naturalize twice (#237) (abced98)
- no need for wadors header provider in the demo (#356) (92891cf)
- null ref error for getLuts from metadata (edbfa91), closes #269
- Only fire STACK_NEW_IMAGE event after we are certain this image will be displayed (#72) (bfb8b91)
- Only rerender scenes containing volumes that are currently loading. Stop checking currentInput to decide when to rebuild shader (#54) (59d9777)
- parsing: can't read an encapsulated frame whose size is greater than fragment size (#205) (176875d), closes #204
- passive tools stealing non-primary mousedowns (#80) (a325a69)
- PetThreshold mouse cursor (#221) (2fb251d)
- Pixel data array was the wrong length for color images (#138) (e42419d)
- planarFreehandROITool: proper handling of pure movements on y-axis (#590) (33635fa)
- pointInSphere bug for segmentation (5a645f5)
- prevent karma grabbing the wrong files for tests (9e4c75d)
- public path for dynamically imported codecs / worker (#398) (2b2bd58)
- publicPath to auto (#399) (d9275b5)
- Re IDC #2761 fix loading of segmentations (#258) (ceaf09a)
- RectangleRoiStartEnd bug for imageId calculation (9547ecd)
- RectangleRoiStartEnd performance improvements (faa777a)
- reference line exports and add cpu demo (#297) (e20d0b2)
- Remove explicit server-side transcoding (#357) (#359) (88e373b)
- Remove resemblejs from dependencies, add detect-gpu, clonedeep, CWIL (#73) (db65d50)
- remove the need for slabThickness in volumeAPI for tools (#113) (a5e431d)
- remove the need for volumeUID to be passed in the configuration (#337) (301d3ab)
- Remove unnecessary check for metadata, because sometimes metadata may be coming from an outside provider (#320) (be1b4e6)
- remove unnecessary logging (#427) (a200edd)
- removed unnecessary files from repo (#324) (48f432e)
- rename ArrowTool to ArrowAnnotate (#91) (9bd0cd8)
- Renaming SUV PET scaling parameter to include suvbw (SUV Body Weight) (#374) (821dc03)
- rendering of palette color for no useRGB flag (#459) (60f8e84)
- renderingEngine and ellipticalTool (ccd62a7)
- rendering: should still use Float32 when not 16 bit for scaling issues (#501) (448baf2)
- renderToCanvas to use CPU rendering (#74) (97ba32f)
- renderToCanvas: device pixel ratio should get included as well (#604) (249957f)
- Reset requestAnimationFrame flags (#247) (f727dbb)
- resetCamera and annotations for flipped viewports (#278) (cabefce)
- resetCamera should reset the rotation as well (#236) (a347c93)
- resetPan option in resetCamera was ignored for PolyData (#125) (5f4f36d)
- Resizing off-screen canvas was broken due to devicePixelRatio (#134) (7b8ac34)
- Resolves error for voiLutModule if undefined (#283) (cb5ee8f)
- revert change to webpack, it causes shader loader issues in dev (f1d8fc6)
- revert synchronizer event firing being unnecessary async (#299) (1e244d1)
- revert the stack viewport setting of targetImageIndex (#192) (0cf057e)
- rework decode config to be passed to the workers (#503) (e4e2be3)
- rgba: Handle rgba to rgb conversion based on length (#220) (d56dd8a)
- RoiThresholdManual now projects in the direction of projection (8e09a84)
- scale factor for zoom in perspective mode and do not update clipping planes for non Volume Actors (#116) (ce8c13e)
- scale image for Volume if already cached in stack (9a03a15)
- scaling metadata should be derived from providers (#464) (abb0892)
- scroll: Scrolling failed to find the volume with segmentation (#470) (79b8c96)
- scroll: was not able to scroll back (#593) (f934e21)
- segmentation remove bug which removed other segs (4d6c83b)
- Segmentation slice range is wrong when nearly orthonormal as well as for segmentation volumes (#511) (cd232e3)
- Segmentation_4X: Update tag name in getSegmentIndex method for segs (#183) (1e96ee3)
- segmentation: Do not render inapplicable segmentations (#545) (1b9d28c)
- segmentation: segmentation could not render segment while invisible (#477) (199b139)
- segmentationVisibility: Improve performance for
getSegmentationIndices
(#556) (c02d31c) - segmentColor: should be able to change initial segment color for render (#535) (0a81736)
- seg: Use ReferencedSegmentNumber in shared fg (#166) (0ed3347)
- selection API, requestPoolManager and VOI and Scaling (#82) (bedd8dd)
- setToolActive with no options (9f1002d)
- setToolPassive should not override other bindings (0a3b3d0)
- several issues with character set handling (#299) (8e22107)
- shadow for annotations and stack viewport targetImageIdIndex bug (#189) (be70be7)
- Size In Bytes should take into account default use of Float32 (#288) (6374316)
- SliceRange: slice range for oblique image (#408) (7138372)
- Sphere implementation in world is no working (6afc734)
- stack viewport flip scroll (#304) (5605a39)
- stackScroll should honor invert configuration (#234) (aa8f1c4)
- Stack: swap image row and column pixel spacing + relaxing isequal compar… (#566) (1e95ece)
- stackViewport: better error handling for disabled viewports (#605) (2b144a2)
- stackViewport: check same image was broken after 16 bit texture (#483) (dddfb05)
- StackViewport: float number comparison to use epsilon when StackViewport is abou… (#530) (abde30b)
- StackViewport: Reset camera bug when rotation happens on StackViewport (#374) (598e95f), closes #372
- stackviewport: swap image row and column pixel spacing (#561) (aede776)
- State creation error for empty viewportLabelmapState (d37b836)
- streaming loader package json for entries (#357) (9a5fbf1)
- StreamingImageVolume tests (0ca3cc2)
- StreamingImageVolume: scaling bug for undefined parameters (#376) (a366d9d)
- Suppress transitionary CAMERA_MODIFIED events on stack image change (#200) (6369781)
- suv display: fix scaling of non-SUV PT images (#536) (f9182f0)
- svg: Don't try to compute an ID for the SVG defs (9ea2060)
- svg: find and reset svg-layer within the correct element (#387) (3e0829e)
- Switch to terser-webpack-plugin from uglify (#283) (edd47c4)
- terminate (#277) (#278) (7fd9197)
- test ci permissions (f6ad461)
- test ci semantic-release (b599d3d), closes #267 #267
- test for volume using cached image from stack (d5fdc7c)
- test run; kick-off ci (0149c8d)
- tests and api after the rebase (#319) (6453183)
- tests: unified test data loading (#292) (c34f398)
- TextBox move should not re-calculate stats (#223) (85fe884)
- tool bindings with different modifier keys (#377) (c95ba60)
- toolGroup default cursor (#120) (8c385c4)
- toolName typo for Crosshairs tool (#193) (46d13bc)
- tools: Some older annotations were missing normal (#528) (319822a)
- trackball: rotate was wrong on mouse drag (#424) (99c1a0a)
- typedoc version problem (6911ada)
- types after rebase (#346) (4c7aa8c)
- typescript build error (70ffb92)
- typo cornerStreaming --> cornerstoneStreaming (#260) (78ff266)
- unexpected token problem for typescript for tools (#360) (7844798)
- unify handling of annotation units and remove 'MO' (#161) (7fddeab)
- update jsdocs, cut release: release (#203) (307974c)
- update readme to trigger release (#257) (554f50d)
- Update to dicom-parser 1.8.9 because it excludes zlib from its bundle (#397) (d6a81d2)
- update variable name for frame index (#332) (5515d6e)
- Use maximum clipping range for StackViewport (#136) (016eff6)
- use metadataProvider option instead of cornerstone.metaData (#280) (3a0e484)
- use one actor for a contourset rendering (#432) (c92f8be)
- Use queryselector instead of firstChild to get svg-layer (#268) (1dd315c)
- utilities: added getImageLegacy for migrations of cornerstone legacy's getImage (#613) (c4aa974)
- utilities: Export Bidirectional and Polyline inside TID300 (75e0e29)
- versioning: sync all versions (#623) (36b2e91)
- Viewport resize should not reset slice (#219) (2edd77d)
- viewport: Exception on resize to very small window (#559) (5877820)
- viewportSpecificState initial state (47c38bd)
- viewRight was calculated wrong for tools (#255) (cf536df)
- VOI sync between viewports needs to take into account tool configuration's volumeUID (dbf02f5)
- voi: linear transfer function for volume viewport(#444) (dcec5eb)
- voi: stack viewport should prioritize image metadata for windowlevel and not persist (#454) (420c812)
- volume scaling should be returned in getImageData (#282) (4df3f71)
- volume viewport getCurrentImageId (#265) (30e4a5d)
- volumeLoad: should still update texture when loading (#527) (65c71ea)
- VolumeViewport3D: implemented getCurrentImageId method (#529) (c6b6ab5)
- volumeViewport: Add optional scaling as the volume can be undefined (#323) (a58a831)
- VolumeViewport: added null actorEntry check in VolumeViewport.getCurrentImageId (#618) (e5fd29b)
- VR: added support for specific character set (#291) (f103d19)
- vr: Convert empty DecimalString and NumberString to null instead of to zero (#278) (43cd8ea)
- VTK volumeMapper bounds off by half-voxel in each direction. Added rendering tests (#145) (0164b76)
- wado-rs: Fix broken case for getTransferSyntaxForContentType (eacc417)
- wadouri metadata was not using scaling parameters properly (#159) (d21aba5)
- Webpack externals were not properly defined (70499a5)
- WebWorker: Handle decoder exceptions (#253) (6ed6c70)
- webworker: Hangs forever when image decode fails (#492) (58ac0b6)
- windowLevel event trigger and initial voi range (#81) (38307d4)
- windowLevelTool: WWWL multipler too high when burned in pixels are present (#462) (47bfa46)
- worldToImage: Not throw out of bounds in worldToImage (#302) (ffb20f7)
- wrap coverage report in the page header (#190) (6ba6c58)
- writeBytes: create release from commit (d9a4105)
- wrong ushape calculation when loading SR/freehand from server (#199) (ce0c5c9)
- ZoomTool fix for polyData actors with no imageData (#308) (1350eca)
- zoomTool should not consume the preMouse event (#196) (8ec505a)
- 🎸 Allow optional in-worker scaling and buffer redirection (c504bb1)
- 3d from 4d: 3D image generation from 4D (#502) (9217691)
- 4d utility: getDataInTime from 4D data (#460) (57bd947)
- 4D: added support for 4D data rendering (#438) (975e596)
- 4D: fixed cine play issue and added getDynamicVolumeInfo method (#562) (f4c2531)
- adapters: Add adapter for exporting polylines from dicom-microscopy-viewer to DICOM-SR (#44) (7a1947c)
- adapters: Add adapter to generate segments & geometry from SEG for easier use in VTKjs (migrated from vtkDisplay example) (398b74d)
- adapters: Add adapters for Rectangle, Angle and fix generate DICOM (#427) (b8ca75e)
- adapters: First steps for DICOM-SR read support for polylines with dicom-microscopy-viewer (#49) (37f1888)
- add 16 bit data type scale under a decode flag (#501) (1b47073)
- Add 2D rectangle roi threshold tool (48ff815)
- Add a basic Brush tool (6358b12)
- Add a CircleROI tool (#459) (1c03ed3)
- Add activeStrategy cursor to RectangleScissor tool (24fd78b)
- Add additionalDetails to request object in volume (05cb249)
- Add AngleTool and MagnifyTool (#97) (2c4c800)
- Add annotation completed event (#84) (cd574da)
- add annotation display Tool (#283) (e4a0324)
- Add ArrowTool and remove toolName from drawing API (#88) (217637c)
- Add AutoPan to the CrosshairTools (7d30510)
- Add base brushTool (4384aa0)
- Add beforeProcessing hook to WADO-URI XMLHttpRequest (#338) (43dbacb)
- Add cachedStats to labelmaps (9d46576)
- Add calibrated pixel spacing (#166) (714af76)
- Add CINE tool via playClip (#99) (916d783)
- Add circle scissor tool for all orthogonal planes (f7fa26b)
- Add circle scissor tool with fillCircle strategy (4c0b444)
- Add cleaning for tools after viewport disabling (#139) (a138fd0)
- Add Clipping planes for rendering (#110) (1a6e4c7)
- Add colorLUT and segmentIndex color (112f70f)
- Add Cornerstone3D adapter for Length tool (#261) (2cab0d9)
- Add cornerstoneTools segmentationManager (caf4ebd)
- add crosshairs example and fix locking (#40) (fe9ec50)
- add data id to length and rectangle svg for e2e tests (#240) (3c4e023)
- Add editable first and last slice for the RectangleRoiThreshold tool (33d8acd)
- Add events to RoiThresholdManual tool (890cc58)
- Add flipping to the stack and volume viewports (#152) (641c569)
- Add frame loading priority for volumes (#151) (09a3a2c)
- Add getViewport methods to Synchronizers (aa1d8ed)
- Add hide segmentation controller to change visibility (88424eb)
- Add HTJ2K - release attempt (c65218e)
- Add immediate flag to RenderingEngine.resize() (#224) (b3de025)
- Add initial scissorsTool (e37bff9)
- Add initial segmentation demo (0b9b2b3)
- Add label to the labelmap states (731450e)
- Add labelmap remove methods and event triggers (0e7c2eb)
- Add labels to the toolData for annotation tools (fe7570d)
- Add lockedSegments and global segmentation config update (2ea8579)
- Add maintainFrame flag for viewports resetCamera (#239) (d2fc40d)
- Add max value calculations to rectangle and ellipse (2ebabc1)
- Add merge labelmaps utility function (7278c72)
- Add more documentation to tools and toolStyles (#214) (8499c6f)
- Add more tests to Synchronizer and ToolGroup managers (#217) (f22ae0f)
- Add mouseWheel invert configuration (#232) (36d194b)
- add multiframe example (#331) (327f17a)
- Add multiple demos for library (#342) (879ea99)
- Add new 3D volume viewport (#281) (57cf7ac)
- Add new getAllToolGroups (0053d05)
- Add numSlices option to RectangleRoiThreshold tool (3b8f15e)
- Add onLabelmapModified event (6d5f909)
- add option to skipi image creation (#504) (d287878)
- Add overlapping segment check to Cornerstone 4.x DICOM SEG adapter (#155) (df44e27)
- Add overwrite on the volume threshold utility function (5f12208)
- add petSeries and petImage modules to providers (#505) (60fa805)
- Add preScale parameters to the image (#413) (14603e2)
- Add projection of rectangleTool as dash line in the scan axis (48640cf)
- Add projection point and imageIds data to RectangleRoiStartEnd tool (1c06e89)
- Add re-rendering of labelmaps based on config change (792fa36)
- add Rectangle Scissors tool (b4eb90c)
- add reference lines tool (#292) (c56df91)
- add referenceCursors tool (#275) (3303246)
- Add referenceVolume name to labelmaps (afe8add)
- Add renderToCanvas functionality (#279) (dd2bfc8)
- add rgba property to image object (#460) (798ce3f)
- Add rotation for viewports and enhanced docs (#150) (cfa3bde)
- add scrollToSlice for element (#76) (c43fe8f)
- Add segmentation config and setActiveLabelmapIndex (a0948d8)
- Add segmentation support for volumes (4b83f20)
- Add segmentIndex-level segmentation editing (5cd5ccf)
- Add segmentSpecificConfiguration and add outlineOpacity config for Segmentation (#285) (92fb495)
- add setCursorForElement (#326) (cfff4e3)
- Add Sphere scissor and SUV PeakTool and refactor ROI computations (a854cf4)
- Add split load and retrieve requests and add WASM codecs from CSWIL (98137d7)
- add stack synchronization within or across studies (#291) (f38bec0)
- add support for WADO-URI Streaming Volume Loading (#354) (a1e4a36)
- Add tests for annotation tools (#208) (93fb724)
- Add threshold by ROI statistics and optimize triggering of events (09f5bff)
- Add threshold roi segmentation strategies (de991c0)
- Add TMTV calculation for segmentations (556bdcd)
- Add toolData to suv peak calculation to improve performance (99bf586)
- Add toolStyles configuration and DragProbe (#93) (ba15be6)
- Add VOLUME_NEW_IMAGE event and Add jumpToSlice and default VOI for volume viewport (#104) (d36a23a)
- Add worldToImage and imageToWorld utilities (#85) (54e1b7f)
- added display area to viewport (#280) (ec64803)
- Added more documentation to rendering and tools (bc1a434)
- Added setProperties api for changing voi and other props (#179) (ae9295d)
- added voiLUTFunction (#476) (28fec2f)
- Adding support for cursors (#164) (0dbf0d0)
- adding support for multiframe metadata in wadors and wadouri (#494) (483cfa7)
- advanced examples (#38) (27f26a1)
- Allow backslashes in UIDs in order to support DICOM Q&R (#277) (6d2d5c6)
- Annotation tools added for Stack Viewports, Measurement Events added, Tool cancellation added (#120) (3490b9a)
- annotations: rework annotation manager api and enable multi-manager setup (#442) (60bd013)
- anonymizer: export Array tagNamesToEmpty and modify cleanTags (#303) (e960085)
- API renaming and type fixes for cornerstone-tools (#350) (02ab03d)
- Bidirectional Arrow and EllipticalROI adapters for CS3D (#264) (1fc7932)
- Brush on mouse move (#20) (4a08cce)
- bump versions of CSWIL (#285) (5f08164)
- cachedStats to store imageId and volumeId (#75) (a2404c4)
- camera sync canvas relative (#167) (2fd6c98)
- Change viewport types in annotationRender (#244) (8b684e1)
- cine: added support for 4D volumes (#471) (4e62137), closes #470
- CobbAngle: Add CobbAngle tool (#353) (b9bd701)
- codecs, loadImage: Switch to WASM Codecs, use image load into distinct queues for retrievals and decoding (#394) (4ffc3e6)
- contour api: add api for contour rendering configuration (#443) (4ab751d)
- contour: improved performance and better configuration (#543) (c69c58a)
- cornerstone: Feature add cornerstone adapters (#225) (23c0877)
- cpu event: added event pre stack new image for cpu (#565) (b91076f)
- cpu fallback for rendering stack viewports (#315) (9ed4425), closes #296 #297 #298 #294 #299 #300 #301 #302 #303 #304 #305 #306 #309 #310 #308 #311
- crosshairs: Make the reference lines gap configurable (#557) (be91ab8)
- CrossOrigin check is added to demos (#222) (8cb3741)
- data: add test color images for dicom image loader (#488) (a47a2cb)
- Decoupled RoiThreshold execution logic into set of utility functions (1c4d639)
- deflated: Added support for reading datasets with deflated transfer syntax (#312) (ee8f8f2)
- dicomImageLoader types: Add types to the dicom image loader (#441) (10a3370), closes #449 #450
- dicomImageLoader: make cornerstone to use new dicom image loader and handle scaling correctly (#553) (a01687a)
- docs: change dicomImageLoader webpack build process (#587) (2c0b336)
- doubleClick: Add Double click detection (#375) (#382) (8e4be96)
- draw center point of the ellipticalROI tool and make it configurable (#191) (b0ad00c), closes #190 #190 #190 #190 #190 #190
- enable having multiple instances of the same tool and add more seg tools (#327) (7ff05c5)
- Enhanced crosshairs architecture (#280) (f064a37)
- flip viewports via camera api instead of actor (#271) (7c99f76)
- Improve null equality check in the volume (1a930f0)
- Improve renderToCanvas functionality and Scaling (#286) (126b5df)
- improved example runner to handle casing and partial match (#347) (9e8fa12)
- improved stack prefetch and zoom to mouse (#121) (bc72d37)
- improved threshold volume API and refactored boundingBox utils (#117) (adc308b)
- include segment labels in segmentation state (#433) (412a914)
- jumptToWorld using utility function instead of tool (#282) (f887054)
- Lazily instantiating colorLUT for segmentation when needed (7a50c55)
- loop: option to scroll tools (#494) (34d4380)
- mem: Zero Copy ArrayBuffer (#279) (a17f2d7)
- metadata: adding support for multiframe metadata in wadors and wadouri (#582) (7ae983c)
- mobile: modify config for crosshair tool (#533) (50111d2)
- Modifier keys to enable multiple active tools at once (#205) (51c7965)
- Move adapters from dcmjs for Cornerstone/3d and VTK (b136a21)
- Move IMAGE_RENDERED event triggering to the end of RAF (#220) (a553c05)
- Move to world calculation for segmentations instead of canvas (0dca280)
- new segmentation demo with petCt (92923e1)
- npm: bump minor version (minor readme edits) (b48f665)
- option to use Arraybuffer for volume loader instead of sharedArrayBuffer (#358) (ab8237c)
- options.beforeSend: Add headers object and parameters to the beforeSend callback to simplify transfer-syntax specification (#227) (2fdc9bc)
- orientation on volumeViewport can be optional (#203) (749dcb5)
- overlayPlaneMetadata: Add metadata provider paths for DICOM Overlays (#240) (1f1352d), closes cornerstonejs/cornerstoneTools#788 cornerstonejs/cornerstoneTools#780 cornerstonejs/cornerstoneTools#788 cornerstonejs/cornerstoneTools#780
- Planar freehand roi tool (#89) (0067339)
- PlanarFreehandROI stats: PlanarFreehandROI stats (#326) (9240862)
- planarRotateTool: rotate tool for volume viewport (#436) (52e5739)
- Provide enums for flip direction (#233) (fcff364)
- Re-architecture of the segmentation state (05592f5)
- readme: stress need for a PR for npm package (#310) (dafd78d)
- RectangleRoiThreshold tool now can work in axial, sagittal and coronal (419aaa8)
- Refactored RectangleRoiThreshold and improved segmentation example (4888507)
- remove Scenes from core and tools (#323) (954117d)
- remove unnecessary event firing for annotations (#123) (03551d9)
- removed unnecessary event dispatcher for labelmaps (1285450)
- Rename libraries for publishing (#281) (5f6e969)
- renderCanvasGPU: use gpu to in the renderToCanvas utility (#586) (0b69c86)
- rendering engine should not reset camera on resize (#273) (f1fe501)
- rendering: 16 bit texture support with flag (#420) (f14073e)
- reset to center option for reset camera (#269) (9539f6c)
- Restructure strategies to be inside configuration of tool instances (cc0cc79)
- ROI threshold to consider two volumes for thresholding (#325) (87362af)
- ScaleOverlayTool: Add scale overlay tool (#386) (45d863e)
- scrollEvent: added out of bounds scroll (#476) (4cf2b63)
- Segmentation architecture improvements (#330) (c603906)
- segmentation examples (#29) (fd95a12)
- Segmentation state restructure to add main representation (#19) (b6eda97)
- Segmentation: Add contour representation for segmentations (#384) (541a351)
- segmentation: segmentation threshold utility (#487) (5325428)
- segmentLocker api and applied review comments (36c35f4)
- sr: export TID300 - Point class (#323) (d2aebc3)
- stackRotate: Add stack rotate tool (#329) (e2fbf6e)
- stackViewport colormap: setColormapGPU implementation for Stack Viewport (#549) (e282149)
- StackViewport: rework rotation for stack viewport (#388) (cfdb0b3), closes #372
- streaming-image-volume: add caching for image load object (#567) (c721ecd)
- structured-reports: Add initial work on Adapters / Utilities for Imaging Measurement Structured Report input / output (#17) (941ad75)
- Switch to div instead of canvas for viewports (2ed5809)
- switch to published calculate-suv (#328) (d6c59af)
- testing: Use the Jest testing framework and switch to GitHub Actions (#254) (a91ff2b)
- toolGroup configuration refactor (#340) (d20eb1e)
- tools: Add invert zoom option (#574) (7d41449)
- Touch: added touch events to tools (#247) (e35f963), closes #3
- touch: more optimized touch interactions (#461) (f79f29a)
- Trigger labelmap state updated on config change (ec9f63c)
- unify the windowLevel and ptThreshold tools (#322) (8d1ecb5)
- update yarn lock (0dd87ad)
- Use vtk upstream copy of half-voxel fix (666596e)
- voi: added support for sigmoid voiLUTFunction for StackViewport and VolumeViewport (#224) (2fcec22)
- volume viewport api with setProperties (#154) (fab3abe)
- volume3d: add orientation to volume viewport 3d (#482) (55d7f44)
- volumeLoader: no need for streaming-wadors imageLoader anymore since streaming volume loader will use cswil wadors image loader (#340) (0b5f785)
- VolumeViewport: add colormap preset and invert to volume viewport (#602) (f28a392)
- VolumeViewport: Add optional flag to assume fallbacks for ZSpacing for volumes (#435) (162f78a)
- WebWorkers: Use worker-loader to pull in codecs and web worker (#264) (23c1e58)
- wip on circle scissors (f22dcf2)
- add option to use RGB instead of RGBA (#457) (0bfea34)
- sphereBrush: tool optimization (#447) (c314bfe)
- suv peak calculation on a limited bounding box (d687d1c)
- codecs, loadImage: An external dependency must be updated to a higher version.
Co-authored-by: dannyrb danny.ri.brown@gmail.com Co-authored-by: Alireza ar.sedghi@gmail.com
- WebWorkers: Web worker and codec paths no longer need to be specified, they are pulled in directly inside the library.