Skip to content

Latest commit

 

History

History
985 lines (754 loc) · 143 KB

CHANGELOG.md

File metadata and controls

985 lines (754 loc) · 143 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

1.19.0 (2023-09-27)

Features

  • referenceLines: showFullDimension option to ReferenceLines tool (#784) (f9a498a)

1.18.0 (2023-09-26)

Features

  • orientation marker: New Orientation Marker tool (#794) (392a93b)

1.17.1 (2023-09-25)

Bug Fixes

1.17.0 (2023-09-25)

Features

1.16.6 (2023-09-21)

Bug Fixes

  • stackPrefetch: disable function not working (#793) (7ced76e)

1.16.5 (2023-09-19)

Bug Fixes

  • 16bit float: should not use 16bit int for float arrays (#788) (da13b89)

1.16.4 (2023-09-18)

Bug Fixes

  • segmentation: stack segmentation remove should return (#789) (7bfe3ca)

1.16.3 (2023-09-18)

Bug Fixes

  • Stack prefetch: should not remove other requests (#787) (c2d6c2c)

1.16.2 (2023-09-18)

Bug Fixes

  • invert: Resetting the stack viewport properties should revert to the image's original invert setting (#786) (027a737)

1.16.1 (2023-09-14)

Bug Fixes

  • config: confusing initial config on init (#783) (ffa7288)

1.16.0 (2023-09-12)

Features

  • brush size: enable specifying brush size for specific tool (#780) (e933b2f)

1.15.1 (2023-09-12)

Bug Fixes

  • cine: fix cine black images for slow computers (#761) (b110bda)

1.15.0 (2023-09-12)

Features

  • Annotation textbox: Add textBoxVisibility (#776) (c1981a1)

1.14.4 (2023-09-07)

Bug Fixes

  • 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)

Bug Fixes

  • angle tool: No text box if angle is incomplete/ value is NaN (#721) (de1af97)

1.14.2 (2023-09-07)

Bug Fixes

1.14.1 (2023-09-07)

Bug Fixes

  • release: try to release nifti loader (#772) (74bbde0)

1.14.0 (2023-09-07)

Features

  • nifti: Add nifti volume loader to cornerstone 3D repo (#696) (c9c2e83)

1.13.3 (2023-09-06)

Bug Fixes

  • brush size: brush size should be calculated in world not in canvas (#771) (6ca1e3a)

1.13.2 (2023-09-05)

Note: Version bump only for package root

1.13.1 (2023-09-01)

Bug Fixes

  • Adapters: adaptersSEG cornerstoneSR to cornerstoneSEG (#766) (e5d7826)

1.13.0 (2023-08-30)

Features

  • tools extensibility: Added statistics calculator for Annotation Tools (#723) (9d96bed)

1.12.1 (2023-08-30)

Bug Fixes

  • modifier key: reset modifier keys when browser tab loses focus/is hidden (#759) (2602ec6), closes #733

1.12.0 (2023-08-29)

Features

  • VolumeViewport: Add getImageIds to volume viewport (#758) (6c430c7)

1.11.4 (2023-08-29)

Bug Fixes

  • BaseVolumeViewport: when the volume actors are explicitly set, reset the inverted flag too (#756) (2258093)

1.11.3 (2023-08-28)

Bug Fixes

  • 4D utility: wrong array type returned by getDataInTime (#754) (14ea6c1)

1.11.2 (2023-08-22)

Bug Fixes

  • VolumeViewport: Add optional volumeId to resetProperties in VolumeViewport (#749) (34b815e)

1.11.1 (2023-08-21)

Bug Fixes

  • memory leak: array buffer was sticking around because of exception (#748) (f27ae9a)

1.11.0 (2023-08-21)

Features

  • VolumeViewport: Add reset properties to volume viewport (#747) (054b044)

1.10.5 (2023-08-21)

Note: Version bump only for package root

1.10.4 (2023-08-17)

Bug Fixes

1.10.3 (2023-08-15)

Note: Version bump only for package root

1.10.2 (2023-08-15)

Bug Fixes

  • color: Convert color space for useRGBA false (#730) (52d5dcd)

1.10.1 (2023-08-09)

Note: Version bump only for package root

1.10.0 (2023-08-02)

Features

  • toolEvent: added an event that is triggered when a tool is activated (#718) (c67b61e)

1.9.3 (2023-08-02)

Bug Fixes

  • volumeloader: should work when images are cached (#719) (7e71da6)

1.9.2 (2023-08-01)

Note: Version bump only for package root

1.9.1 (2023-07-31)

Bug Fixes

1.9.0 (2023-07-28)

Features

  • voiSync: add optoins to turn of invert sync for voisync (#708) (4f5b5c3)

1.8.1 (2023-07-28)

Bug Fixes

  • voi: fix the voi setting when the stack is composed of different orientations (#703) (c2810dd)

1.8.0 (2023-07-28)

Features

  • segmentation export: add new cornerstone3D segmentation export adapter (#692) (9e743f5)

1.7.2 (2023-07-27)

Bug Fixes

  • SVGCursorDescriptor: improve CursorSVG typing (#705) (26b854a)

1.7.1 (2023-07-27)

Note: Version bump only for package root

1.7.0 (2023-07-26)

Features

  • streamingVolumeLoader: added IMAGE_VOLUME_LOADING_COMPLETED event (#699) (c8c8f59)

1.6.0 (2023-07-21)

Features

  • calibration: Add calibration type labels (ERMF, PROJ, USER) (#638) (0aafbc2)

1.5.0 (2023-07-18)

Features

  • 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)

Bug Fixes

  • color volume: take into account number of components for the volume length (#687) (667c42e)

1.4.4 (2023-07-13)

Bug Fixes

  • PT measurement units: Non-SUV scaled, but pre-scaled PTs should show proper units (#686) (e9190df)

1.4.3 (2023-07-12)

Bug Fixes

  • ptct: Jump to click and voisync for volume3d (#678) (8342ff4)

1.4.2 (2023-07-11)

Bug Fixes

  • color volume viewport: fix incorrect property on volume actor (#683) (dbc40e9)

1.4.1 (2023-07-04)

Bug Fixes

  • PET vs PT: Change all to PT for consistency (#676) (813e5ba)

1.4.0 (2023-07-04)

Features

  • detectGPU: Add config for getGPUTier method in cornerstone.init (#633) (b5ea0e2), closes #570

1.3.0 (2023-07-04)

Features

  • invertSync: add invert sync to voi sync (#677) (a1dcfbc)

1.2.9 (2023-07-03)

Bug Fixes

  • dicomImageLoader: Error when loading Wadouri JPEG Image (#674) (6564232)

1.2.8 (2023-06-27)

Bug Fixes

  • monochrome1: fix bug for monochrom1 inverted color (#668) (0864049)

1.2.7 (2023-06-20)

Bug Fixes

  • PlanarFreehandROITool: trigger event after recalculation of stats (#665) (5a63104)

1.2.6 (2023-06-14)

Bug Fixes

  • 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)

Bug Fixes

  • PlanarFreehandROITool: recalculate stats upon edit (#607) (f193701)

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)

Bug Fixes

  • colormap: adding new Method to set the opacity of the colormap (#649) (d7e5430)

1.2.1 (2023-06-13)

Bug Fixes

  • multiframe: transfer only portion of data for multiframe to worker (#652) (aaf94ea)

1.2.0 (2023-06-12)

Features

  • agnleTool: link textbox to vertex unless moved by user (#651) (d77dff3)

1.1.9 (2023-06-12)

Bug Fixes

1.1.8 (2023-06-09)

Bug Fixes

1.1.7 (2023-06-09)

Note: Version bump only for package root

1.1.6 (2023-06-01)

Bug Fixes

  • Cobb Angle: use the two closest line segment points as the tail of each respectful vector (#634) (8311de3)

1.1.5 (2023-05-23)

Bug Fixes

  • event: Interactions between double click and multi mouse button (#616) (3be68c1)

1.1.4 (2023-05-23)

Bug Fixes

  • windowLevel: should not double scale for window level (#619) (479eba7)

1.1.3 (2023-05-23)

Bug Fixes

1.1.2 (2023-05-23)

Note: Version bump only for package root

1.1.1 (2023-05-23)

Bug Fixes

1.1.0 (2023-05-22)

Features

0.103.0 (2023-05-22)

  • feat(api)!: cornerstone3D version 1.0 (#625) (0c6cf01), closes #625

BREAKING CHANGES

  • cornerstone3D version 1

0.102.0 (2023-05-22)

  • feat(version1)!: publish version 1.0 (#624) (117cdb7), closes #624

BREAKING CHANGES

  • breaking change bump major

0.101.0 (2023-05-22)

Bug Fixes

  • #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)

Features

  • 🎸 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)

Performance Improvements

  • add option to use RGB instead of RGBA (#457) (0bfea34)
  • sphereBrush: tool optimization (#447) (c314bfe)
  • suv peak calculation on a limited bounding box (d687d1c)

BREAKING CHANGES

  • 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.