fix(seg): maintain algorithm name and algorithm type when DICOM seg is exported or downloaded (#4203)

This commit is contained in:
Ibrahim 2024-06-05 12:26:17 -04:00 committed by GitHub
parent d747c97be3
commit a29e94de80
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 41 additions and 22 deletions

View File

@ -46,8 +46,8 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.77.3",
"@cornerstonejs/core": "^1.77.3",
"@cornerstonejs/adapters": "^1.77.6",
"@cornerstonejs/core": "^1.77.6",
"@kitware/vtk.js": "30.4.1",
"react-color": "^2.19.3"
}

View File

@ -278,8 +278,8 @@ const commandsModule = ({
const segmentMetadata = {
SegmentNumber: segmentIndex.toString(),
SegmentLabel: label,
SegmentAlgorithmType: 'MANUAL',
SegmentAlgorithmName: 'OHIF Brush',
SegmentAlgorithmType: segment?.algorithmType || 'MANUAL',
SegmentAlgorithmName: segment?.algorithmName || 'OHIF Brush',
RecommendedDisplayCIELabValue,
SegmentedPropertyCategoryCodeSequence: {
CodeValue: 'T-D0050',

View File

@ -46,9 +46,9 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.77.3",
"@cornerstonejs/core": "^1.77.3",
"@cornerstonejs/tools": "^1.77.3",
"@cornerstonejs/adapters": "^1.77.6",
"@cornerstonejs/core": "^1.77.6",
"@cornerstonejs/tools": "^1.77.6",
"classnames": "^2.3.2"
}
}

View File

@ -42,9 +42,9 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/core": "^1.77.3",
"@cornerstonejs/streaming-image-volume-loader": "^1.77.3",
"@cornerstonejs/tools": "^1.77.3",
"@cornerstonejs/core": "^1.77.6",
"@cornerstonejs/streaming-image-volume-loader": "^1.77.6",
"@cornerstonejs/tools": "^1.77.6",
"classnames": "^2.3.2"
}
}

View File

@ -38,7 +38,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.77.3",
"@cornerstonejs/dicom-image-loader": "^1.77.6",
"@icr/polyseg-wasm": "^0.4.0",
"@ohif/core": "3.9.0-beta.34",
"@ohif/ui": "3.9.0-beta.34",
@ -55,10 +55,10 @@
},
"dependencies": {
"@babel/runtime": "^7.20.13",
"@cornerstonejs/adapters": "^1.77.3",
"@cornerstonejs/core": "^1.77.3",
"@cornerstonejs/streaming-image-volume-loader": "^1.77.3",
"@cornerstonejs/tools": "^1.77.3",
"@cornerstonejs/adapters": "^1.77.6",
"@cornerstonejs/core": "^1.77.6",
"@cornerstonejs/streaming-image-volume-loader": "^1.77.6",
"@cornerstonejs/tools": "^1.77.6",
"@icr/polyseg-wasm": "^0.4.0",
"@kitware/vtk.js": "30.4.1",
"html2canvas": "^1.4.1",

View File

@ -22,6 +22,10 @@ type Segment = {
isLocked: boolean;
// display texts
displayText?: string[];
// The name of algorithm used to generate the segment. (0062,0009)
algorithmName?: string;
// Type of algorithm used to generate the segment. (0062,0008)
algorithmType?: string;
};
type Segmentation = {

View File

@ -32,8 +32,8 @@
"start": "yarn run dev"
},
"peerDependencies": {
"@cornerstonejs/core": "^1.77.3",
"@cornerstonejs/tools": "^1.77.3",
"@cornerstonejs/core": "^1.77.6",
"@cornerstonejs/tools": "^1.77.6",
"@ohif/core": "3.9.0-beta.34",
"@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.34",
"@ohif/ui": "3.9.0-beta.34",

View File

@ -157,7 +157,7 @@ function modeFactory({ modeConfiguration }) {
/** List of extensions that are used by the mode */
extensions: extensionDependencies,
/** HangingProtocol used by the mode */
// hangingProtocol: [''],
hangingProtocol: ['@ohif/mnGrid'],
/** SopClassHandlers used by the mode */
sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler],
/** hotkeys for mode */

View File

@ -53,7 +53,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.5",
"@cornerstonejs/dicom-image-loader": "^1.77.3",
"@cornerstonejs/dicom-image-loader": "^1.77.6",
"@emotion/serialize": "^1.1.3",
"@ohif/core": "3.9.0-beta.34",
"@ohif/extension-cornerstone": "3.9.0-beta.34",

View File

@ -37,7 +37,7 @@
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
"@cornerstonejs/codec-openjpeg": "^1.2.2",
"@cornerstonejs/codec-openjph": "^2.4.2",
"@cornerstonejs/dicom-image-loader": "^1.77.3",
"@cornerstonejs/dicom-image-loader": "^1.77.6",
"@ohif/ui": "3.9.0-beta.34",
"cornerstone-math": "0.1.9",
"dicom-parser": "^1.8.21"

View File

@ -90,7 +90,7 @@ export function DatePickerWithRange({
value={start}
onChange={e => handleInputChange(e, 'start')}
className={cn(
'border-inputfield-main focus:border-inputfield-focus h-full w-full justify-start rounded border bg-black py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-sm font-normal hover:bg-black hover:text-white',
'border-inputfield-main focus:border-inputfield-focus h-[32px] w-full justify-start rounded border bg-black py-[6.5px] pl-[6.5px] pr-[6.5px] text-left text-sm font-normal hover:bg-black hover:text-white',
!start && 'text-muted-foreground'
)}
data-cy="input-date-range-start"

View File

@ -30,7 +30,7 @@ const InputMultiSelect = ({
value={value}
isMulti={true}
isClearable={false}
isSearchable={false}
isSearchable={true}
closeMenuOnSelect={false}
hideSelectedOptions={false}
onChange={(selectedOptions, action) => {

View File

@ -6,6 +6,21 @@
@apply border-gray-500;
}
.customSelect__control {
height: 32px;
}
.customSelect__value-container {
padding-top: 0px !important;
padding-bottom: 0px !important;
}
.customSelect__input {
@apply text-white !important;
font-size: 0.75rem !important;
line-height: 1.25 !important;
}
.customSelect__wrapper .customSelect__control:focus,
.customSelect__wrapper .customSelect__control--menu-is-open {
@apply border-gray-500 outline-none;