fix(seg): maintain algorithm name and algorithm type when DICOM seg is exported or downloaded (#4203)
This commit is contained in:
parent
d747c97be3
commit
a29e94de80
@ -46,8 +46,8 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
"@cornerstonejs/adapters": "^1.77.3",
|
"@cornerstonejs/adapters": "^1.77.6",
|
||||||
"@cornerstonejs/core": "^1.77.3",
|
"@cornerstonejs/core": "^1.77.6",
|
||||||
"@kitware/vtk.js": "30.4.1",
|
"@kitware/vtk.js": "30.4.1",
|
||||||
"react-color": "^2.19.3"
|
"react-color": "^2.19.3"
|
||||||
}
|
}
|
||||||
|
|||||||
@ -278,8 +278,8 @@ const commandsModule = ({
|
|||||||
const segmentMetadata = {
|
const segmentMetadata = {
|
||||||
SegmentNumber: segmentIndex.toString(),
|
SegmentNumber: segmentIndex.toString(),
|
||||||
SegmentLabel: label,
|
SegmentLabel: label,
|
||||||
SegmentAlgorithmType: 'MANUAL',
|
SegmentAlgorithmType: segment?.algorithmType || 'MANUAL',
|
||||||
SegmentAlgorithmName: 'OHIF Brush',
|
SegmentAlgorithmName: segment?.algorithmName || 'OHIF Brush',
|
||||||
RecommendedDisplayCIELabValue,
|
RecommendedDisplayCIELabValue,
|
||||||
SegmentedPropertyCategoryCodeSequence: {
|
SegmentedPropertyCategoryCodeSequence: {
|
||||||
CodeValue: 'T-D0050',
|
CodeValue: 'T-D0050',
|
||||||
|
|||||||
@ -46,9 +46,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
"@cornerstonejs/adapters": "^1.77.3",
|
"@cornerstonejs/adapters": "^1.77.6",
|
||||||
"@cornerstonejs/core": "^1.77.3",
|
"@cornerstonejs/core": "^1.77.6",
|
||||||
"@cornerstonejs/tools": "^1.77.3",
|
"@cornerstonejs/tools": "^1.77.6",
|
||||||
"classnames": "^2.3.2"
|
"classnames": "^2.3.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -42,9 +42,9 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
"@cornerstonejs/core": "^1.77.3",
|
"@cornerstonejs/core": "^1.77.6",
|
||||||
"@cornerstonejs/streaming-image-volume-loader": "^1.77.3",
|
"@cornerstonejs/streaming-image-volume-loader": "^1.77.6",
|
||||||
"@cornerstonejs/tools": "^1.77.3",
|
"@cornerstonejs/tools": "^1.77.6",
|
||||||
"classnames": "^2.3.2"
|
"classnames": "^2.3.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,7 +38,7 @@
|
|||||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||||
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
||||||
"@cornerstonejs/codec-openjph": "^2.4.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",
|
"@icr/polyseg-wasm": "^0.4.0",
|
||||||
"@ohif/core": "3.9.0-beta.34",
|
"@ohif/core": "3.9.0-beta.34",
|
||||||
"@ohif/ui": "3.9.0-beta.34",
|
"@ohif/ui": "3.9.0-beta.34",
|
||||||
@ -55,10 +55,10 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/runtime": "^7.20.13",
|
"@babel/runtime": "^7.20.13",
|
||||||
"@cornerstonejs/adapters": "^1.77.3",
|
"@cornerstonejs/adapters": "^1.77.6",
|
||||||
"@cornerstonejs/core": "^1.77.3",
|
"@cornerstonejs/core": "^1.77.6",
|
||||||
"@cornerstonejs/streaming-image-volume-loader": "^1.77.3",
|
"@cornerstonejs/streaming-image-volume-loader": "^1.77.6",
|
||||||
"@cornerstonejs/tools": "^1.77.3",
|
"@cornerstonejs/tools": "^1.77.6",
|
||||||
"@icr/polyseg-wasm": "^0.4.0",
|
"@icr/polyseg-wasm": "^0.4.0",
|
||||||
"@kitware/vtk.js": "30.4.1",
|
"@kitware/vtk.js": "30.4.1",
|
||||||
"html2canvas": "^1.4.1",
|
"html2canvas": "^1.4.1",
|
||||||
|
|||||||
@ -22,6 +22,10 @@ type Segment = {
|
|||||||
isLocked: boolean;
|
isLocked: boolean;
|
||||||
// display texts
|
// display texts
|
||||||
displayText?: string[];
|
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 = {
|
type Segmentation = {
|
||||||
|
|||||||
@ -32,8 +32,8 @@
|
|||||||
"start": "yarn run dev"
|
"start": "yarn run dev"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@cornerstonejs/core": "^1.77.3",
|
"@cornerstonejs/core": "^1.77.6",
|
||||||
"@cornerstonejs/tools": "^1.77.3",
|
"@cornerstonejs/tools": "^1.77.6",
|
||||||
"@ohif/core": "3.9.0-beta.34",
|
"@ohif/core": "3.9.0-beta.34",
|
||||||
"@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.34",
|
"@ohif/extension-cornerstone-dicom-sr": "3.9.0-beta.34",
|
||||||
"@ohif/ui": "3.9.0-beta.34",
|
"@ohif/ui": "3.9.0-beta.34",
|
||||||
|
|||||||
@ -157,7 +157,7 @@ function modeFactory({ modeConfiguration }) {
|
|||||||
/** List of extensions that are used by the mode */
|
/** List of extensions that are used by the mode */
|
||||||
extensions: extensionDependencies,
|
extensions: extensionDependencies,
|
||||||
/** HangingProtocol used by the mode */
|
/** HangingProtocol used by the mode */
|
||||||
// hangingProtocol: [''],
|
hangingProtocol: ['@ohif/mnGrid'],
|
||||||
/** SopClassHandlers used by the mode */
|
/** SopClassHandlers used by the mode */
|
||||||
sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler],
|
sopClassHandlers: [ohif.sopClassHandler, segmentation.sopClassHandler],
|
||||||
/** hotkeys for mode */
|
/** hotkeys for mode */
|
||||||
|
|||||||
@ -53,7 +53,7 @@
|
|||||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||||
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
||||||
"@cornerstonejs/codec-openjph": "^2.4.5",
|
"@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",
|
"@emotion/serialize": "^1.1.3",
|
||||||
"@ohif/core": "3.9.0-beta.34",
|
"@ohif/core": "3.9.0-beta.34",
|
||||||
"@ohif/extension-cornerstone": "3.9.0-beta.34",
|
"@ohif/extension-cornerstone": "3.9.0-beta.34",
|
||||||
|
|||||||
@ -37,7 +37,7 @@
|
|||||||
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
"@cornerstonejs/codec-libjpeg-turbo-8bit": "^1.2.2",
|
||||||
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
"@cornerstonejs/codec-openjpeg": "^1.2.2",
|
||||||
"@cornerstonejs/codec-openjph": "^2.4.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",
|
"@ohif/ui": "3.9.0-beta.34",
|
||||||
"cornerstone-math": "0.1.9",
|
"cornerstone-math": "0.1.9",
|
||||||
"dicom-parser": "^1.8.21"
|
"dicom-parser": "^1.8.21"
|
||||||
|
|||||||
@ -90,7 +90,7 @@ export function DatePickerWithRange({
|
|||||||
value={start}
|
value={start}
|
||||||
onChange={e => handleInputChange(e, 'start')}
|
onChange={e => handleInputChange(e, 'start')}
|
||||||
className={cn(
|
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'
|
!start && 'text-muted-foreground'
|
||||||
)}
|
)}
|
||||||
data-cy="input-date-range-start"
|
data-cy="input-date-range-start"
|
||||||
|
|||||||
@ -30,7 +30,7 @@ const InputMultiSelect = ({
|
|||||||
value={value}
|
value={value}
|
||||||
isMulti={true}
|
isMulti={true}
|
||||||
isClearable={false}
|
isClearable={false}
|
||||||
isSearchable={false}
|
isSearchable={true}
|
||||||
closeMenuOnSelect={false}
|
closeMenuOnSelect={false}
|
||||||
hideSelectedOptions={false}
|
hideSelectedOptions={false}
|
||||||
onChange={(selectedOptions, action) => {
|
onChange={(selectedOptions, action) => {
|
||||||
|
|||||||
@ -6,6 +6,21 @@
|
|||||||
@apply border-gray-500;
|
@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:focus,
|
||||||
.customSelect__wrapper .customSelect__control--menu-is-open {
|
.customSelect__wrapper .customSelect__control--menu-is-open {
|
||||||
@apply border-gray-500 outline-none;
|
@apply border-gray-500 outline-none;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user