Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
fedorov committed Nov 1, 2018
1 parent 6300453 commit ac976c7
Show file tree
Hide file tree
Showing 7 changed files with 69 additions and 154 deletions.
76 changes: 37 additions & 39 deletions content/results/seg/brainlab.md
Original file line number Diff line number Diff line change
@@ -1,53 +1,52 @@
# Brainlab

1.**Description of the platform/product**:
1.**Description of the platform/product**:

* **name and version of the software**: Brainlab SmartBrush 2.5 and Brainlab SmartViewer 3.1; SmartViewer can only display DICOM SEG; SmartBrush can create SEG and display them, however SmartViewer displays them much better
* **free?** no
* **commercial?** yes
* **open source?** no
* **what DICOM library do you use?** [Merge DICOM Toolkit](http://www.merge.com/Solutions/Toolkits/Merge-DICOM-Toolkit.aspx), however the toolkit does not provide API for handling DICOM SEG objects, so all of the features related to handling DICOM SEG had to be implemented
* **name and version of the software**: Brainlab SmartBrush 2.5 and Brainlab SmartViewer 3.1; SmartViewer can only display DICOM SEG; SmartBrush can create SEG and display them, however SmartViewer displays them much better
* **free?** no
* **commercial?** yes
* **open source?** no
* **what DICOM library do you use?** [Merge DICOM Toolkit](http://www.merge.com/Solutions/Toolkits/Merge-DICOM-Toolkit.aspx), however the toolkit does not provide API for handling DICOM SEG objects, so all of the features related to handling DICOM SEG had to be implemented

2.**Description of the relevant features of the platform**:
2.**Description of the relevant features of the platform**:

* **are both single and multiple segments supported?** Current version of Brainlab SmartBrush can write only single-segment objects, but reads both single- and multi-segment
* **how are the overlapping segments handled?** The user can see the outline of the contour \(the area inside the the contour is slightly color-washed\)
* **do you support both BINARY and FRACTIONAL segmentation types?** Brainlab always exports segmentations as FRACTIONAL type and RLE-compressed
* **do you render the segment using the color specified in the DICOM object?** yes
* **how do you communicate segment semantics to the user?** The type of the segment property which is stored inside Segmented Property Type Code Sequence is displayed to the user.
* **how do you support the user in defining the semantics of the object at the time segmentation is created?** The type of the segment \(i.e.Tumor, Implant, Bone and Undefined\) can be selected by the user when creating a Segmentation object.
* **are both single and multiple segments supported?** Current version of Brainlab SmartBrush can write only single-segment objects, but reads both single- and multi-segment
* **how are the overlapping segments handled?** The user can see the outline of the contour \(the area inside the the contour is slightly color-washed\)
* **do you support both BINARY and FRACTIONAL segmentation types?** Brainlab always exports segmentations as FRACTIONAL type and RLE-compressed
* **do you render the segment using the color specified in the DICOM object?** yes
* **how do you communicate segment semantics to the user?** The type of the segment property which is stored inside Segmented Property Type Code Sequence is displayed to the user.
* **how do you support the user in defining the semantics of the object at the time segmentation is created?** The type of the segment \(i.e.Tumor, Implant, Bone and Undefined\) can be selected by the user when creating a Segmentation object.

**Demonstration video on YouTube** \(recorded at RSNA 2015 DICOM4QI\): [https://youtu.be/2J3sxpqHtlY](https://youtu.be/2J3sxpqHtlY).
**Demonstration video on YouTube** \(recorded at RSNA 2015 DICOM4QI\): [https://youtu.be/2J3sxpqHtlY](https://youtu.be/2J3sxpqHtlY).

3.**Read task**: load each of the DICOM SEG datasets that accompany the imaging series into your platform
3.**Read task**: load each of the DICOM SEG datasets that accompany the imaging series into your platform

**Test dataset \#1**
**Test dataset \#1**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| Test dataset | Result of rendering |
| -- | -- |
| 3D Slicer | <img src="./brainlab/brainlab-read-lidc.png" width=250> |

**Test dataset \#2**
**Test dataset \#2**

| Test dataset | Result of rendering |
| :--- | :--- |
| Brainlab | |
| Test dataset | Result of rendering |
| -- | -- |
| Brainlab | <img src="./brainlab/brainlab-read-seg2.png" width=250> |

**Test dataset \#3**
**Test dataset \#3**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| Test dataset | Result of rendering |
| -- | -- |
| 3D Slicer | <img src="brainlab/brainlab-read-hnc.jpg" width=250> <img src="./brainlab/brainlab-read-hnc-measurements.jpg" width=250>|

**Test dataset \#4**
**Test dataset \#4**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| Test dataset | Result of rendering |
| -- | -- |
| 3D Slicer | <img src="./brainlab/brainlab-read-prostate.jpg" width=250> |

4.**Write task**
4.**Write task**

`dciodvfy` checks produce no errors:
`dciodvfy` checks produce no errors:

```text
(0x0069,0x1001) ? - Warning - Unrecognized tag - assuming explicit value representation OK
Expand All @@ -56,8 +55,7 @@ Segmentation
Warning - Unrecognized defined term <99BL-GEN> for value 1 of attribute <Coding Scheme Designator>
```

| Output dataset | Result of rendering in Brainlab |
| :--- | :--- |
| [\#3 write result](http://slicer.kitware.com/midas3/download/item/266127/SEG_BL_DataSet3_compressed.dcm) | |
| [\#4 write result](http://slicer.kitware.com/midas3/download/item/266126/SEG_BL_DataSet4_compressed.dcm) | |

| Output dataset | Result of rendering in Brainlab|
| -- | -- |
| [#3 write result](http://slicer.kitware.com/midas3/download/item/266127/SEG_BL_DataSet3_compressed.dcm) | <img src="brainlab/DataSet3_FromSmartbrush_ReadByBrainlabSmartbrush.JPG" width=250> <img src="brainlab/DataSet3_FromSmartbrush_ReadByBrainlabSmartbrush_UI.JPG" width=250> |
| [#4 write result](http://slicer.kitware.com/midas3/download/item/266126/SEG_BL_DataSet4_compressed.dcm) | <img src="brainlab/DataSet4_FromSmartbrush_ReadByBrainlabSmartbrush.JPG" width=250> <img src="brainlab/DataSet4_FromSmartbrush_ReadByBrainlabSmartbrush_UI.JPG" width=250> |
43 changes: 13 additions & 30 deletions content/results/seg/epad.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
# ePAD

1.**Description of the platform/product**:

Expand All @@ -11,17 +10,15 @@
2.**Description of the relevant features of the platform**:

* **are both single and multiple segments supported?** the new viewer uses AMI and supports multisegments; whereas the old viewer supports only single segments.
* **how are the overlapping segments handled?** user can select either to view the outline or as filled \(see screenshot below showing both AIM on ClearCanvas and Slicer datasets from the Read task\)
* **how are the overlapping segments handled?** user can select either to view the outline or as filled \(see screenshot below showing both AIM on ClearCanvas and Slicer datasets from the Read task\)

![](../../.gitbook/assets/overlap_sc_stroke.png)
![](epad/overlap_sc_stroke.png)

\|

![](../../.gitbook/assets/overlap_sc_fill.png)
![](epad/overlap_sc_fill.png)

* **do you support both BINARY and FRACTIONAL segmentation types?** yes, segmentations that are saved as FRACTIONAL are mapped to gray scale \(see screenshot below showing a FRACTIONAL segmentation\)

![](../../.gitbook/assets/fractionalseg.png)
![](epad/fractionalseg.png)

* **do you render the segment using the color specified in the DICOM object?** the new viewer uses AMI and renders using the color specified in the DICOM object; whereas the old viewer uses annotation owner's preferred color for all segmentations
* **how do you communicate segment semantics to the user?** currently user has no means to get information about the semantics of the object as defined in the segmentation
Expand All @@ -32,35 +29,21 @@
**Test dataset \#1**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| ePAD | |
| syngo.via | |
| AIMonClearCanvas | |
| Brainlab | |
| -- | -- |
| 3D Slicer | <img src="epad/slicer_qin2.png" width=250> |
| ePAD | <img src="epad/epad-read-lidc.png" width=250> |
| syngo.via | <img src="epad/syngo_segmentations.png" width=250> |
| AIMonClearCanvas| <img src="epad/clearcanvas_segmentation.png" width=250> |
| Brainlab| <img src="epad/fractionalseg.png" width=250> |

**Test dataset \#2**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |

**Test dataset \#3**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |

**Test dataset \#4**
At this time, ePAD does not support multi-segment segmentations.

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |

4.**Write task**

* segment the lung lesion using any method available in your platform; save the result as DICOM SEG; please include in the series description the name of your tool to simplify comparison tasks!
* results are uploaded
* results are uploaded
* run [dciodvfy DICOM validator](http://www.dclunie.com/dicom3tools/dciodvfy.html); iterate on resolving the identified issues as necessary
* no errors, only warnings from dciodvfy

* no errors, only warnings from dciodvfy
66 changes: 0 additions & 66 deletions content/results/seg/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
| [MITK](/results/seg/MITK.md) | <img src="../../images/done.png" width=25> | <img src="../../images/done.png" width=25> | <img src="../../images/done.png" width=25> |
| [Mint Medical](/results/seg/mint.md) | <img src="../../images/done.png" width=25> | <img src="../../images/done.png" width=25> | <img src="../../images/done.png" width=25> |
| XNAT | <img src="../../images/waiting.png" width=25> | <img src="../../images/waiting.png" width=25> | <img src="../../images/waiting.png" width=25> |
| Koelis | <img src="../../images/failed.png" width=25> | <img src="../../images/failed.png" width=25> | <img src="../../images/failed.png" width=25> |
| [Pixelmed DicomImageViewer](/results/seg/pixelmed.md) | <img src="../../images/done.png" width=25> | <img src="../../images/done.png" width=25> | <img src="../../images/failed.png" width=25> |
| [Siemens syngo.via](/results/seg/syngovia.md) ** * **| <img src="../../images/done.png" width=25> | <img src="../../images/failed.png" width=25> | <img src="../../images/done.png" width=25> |
| OsiriX Lite ** * **| <img src="../../images/done.png" width=25> | <img src="../../images/failed.png" width=25> | <img src="../../images/failed.png" width=25> |
Expand All @@ -26,68 +25,3 @@
* <img src="../../images/done.png" width=25> - task completed

* <img src="../../images/failed.png" width=25> - no response received, or for some reason task could not be completed

## 3D Slicer

1.**Description of the platform/product**:

* **name and version of the software**: 3D Slicer, Nightly release 4.7.0-2016-11-24, with Reporting extension installed
* **free?** yes [http://download.slicer.org](http://download.slicer.org)
* **commercial?** no
* **open source?** yes [http://github.com/slicer/slicer](http://github.com/slicer/slicer)
* **what DICOM library do you use?** [DCMTK](http://dcmtk.org), [DCMQI](http://github.com/qiicr/dcmqi)

2.**Description of the relevant features of the platform**:

* **are both single and multiple segments supported?** yes **how are the overlapping segments handled?** solid color of the outline is shown for all segments; inner area is shown semi-transparent \(see screenshot below showing both AIMonClearCanvas and Brainlab datasets from the Read task\)

<img src="slicer/seg-overlap.png" width="50%"">


* **do you support both BINARY and FRACTIONAL segmentation types?** only BINARY can be displayed; SEGs that are saved as FRACTIONAL will be read as BINARY \(i.e., no mapping to fractional occupancy or probability will be done\)
* **do you render the segment using the color specified in the DICOM object?** yes
* **how do you communicate segment semantics to the user?** Display of the segment semantics is provided in specialized Slicer modules. As of November 2016, semantics is shown in a tooltip over the color swatch in the list of segments in Segment Editor module \(see screenshot below\). Similar interface is provided in the Reporting module.

<img src="slicer/slicer-read-td3.png" width="50%"">
![](slicer/slicer-read-td3.png)

* **how do you support the user in defining the semantics of the object at the time segmentation is created?** user can select from the terminology lists by double-clicking on the colored square while editing segment, see screenshot below. Color can also be specified. Certain combinations of codes have suggested colors.

![](../../.gitbook/assets/terminology-selector.png)

3.**Read task**: load each of the DICOM SEG datasets that accompany the imaging series into your platform

**Test dataset \#1**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| syngo.via | |
| AIMonClearCanvas | |

Note: Brainlab dataset could not be loaded, since it does not have SliceThickness attribute \(see CP-1426\). This issue has been since fixed in Brainlab, but test datasets 1 and 2 have not been updated.

**Test dataset \#2**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |

**Test dataset \#3**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |

**Test dataset \#4**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |

4.**Write task**

* segment the lung lesion using any method available in your platform; save the result as DICOM SEG; please include in the series description the name of your tool to simplify comparison tasks!
* results are uploaded
* run [dciodvfy DICOM validator](http://www.dclunie.com/dicom3tools/dciodvfy.html); iterate on resolving the identified issues as necessary
* no errors, only warnings from dciodvfy
29 changes: 13 additions & 16 deletions content/results/seg/slicer.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
# 3D Slicer

1.**Description of the platform/product**:

* **name and version of the software**: 3D Slicer, Nightly release 4.7.0-2016-11-24, with Reporting extension installed
Expand All @@ -12,52 +10,51 @@

* **are both single and multiple segments supported?** yes **how are the overlapping segments handled?** solid color of the outline is shown for all segments; inner area is shown semi-transparent \(see screenshot below showing both AIMonClearCanvas and Brainlab datasets from the Read task\)

![](../../.gitbook/assets/seg-overlap%20%281%29.png)
<img src="slicer/seg-overlap.png" width="50%"">

* **do you support both BINARY and FRACTIONAL segmentation types?** only BINARY can be displayed; SEGs that are saved as FRACTIONAL will be read as BINARY \(i.e., no mapping to fractional occupancy or probability will be done\)
* **do you render the segment using the color specified in the DICOM object?** yes
* **how do you communicate segment semantics to the user?** Display of the segment semantics is provided in specialized Slicer modules. As of November 2016, semantics is shown in a tooltip over the color swatch in the list of segments in Segment Editor module \(see screenshot below\). Similar interface is provided in the Reporting module.

![](../../.gitbook/assets/slicer-read-td3%20%281%29.png)
![](slicer/slicer-read-td3.png)

* **how do you support the user in defining the semantics of the object at the time segmentation is created?** user can select from the terminology lists by double-clicking on the colored square while editing segment, see screenshot below. Color can also be specified. Certain combinations of codes have suggested colors.

![](../../.gitbook/assets/terminology-selector.png)
<img src="slicer/terminology-selector.png" width="50%">

3.**Read task**: load each of the DICOM SEG datasets that accompany the imaging series into your platform

**Test dataset \#1**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| syngo.via | |
| AIMonClearCanvas | |
| -- | -- |
| 3D Slicer | <img src="slicer/slicer-read-lidc.png" width="50%"> |
| syngo.via | <img src="slicer/syngo-read-lidc.png" width="50%"> |
| AIMonClearCanvas| <img src="slicer/aimclearcanvas-read-lidc.png" width="50%"> |

Note: Brainlab dataset could not be loaded, since it does not have SliceThickness attribute \(see CP-1426\). This issue has been since fixed in Brainlab, but test datasets 1 and 2 have not been updated.

**Test dataset \#2**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| -- | -- |
| 3D Slicer | <img src="./slicer/slicer-read-td2.png"> |

**Test dataset \#3**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| -- | -- |
| 3D Slicer | <img src="./slicer/slicer-read-td3.png" width="50%"> |

**Test dataset \#4**

| Test dataset | Result of rendering |
| :--- | :--- |
| 3D Slicer | |
| -- | -- |
| 3D Slicer | <img src="./slicer/slicer-read-td4.png" width="50%"> |

4.**Write task**

* segment the lung lesion using any method available in your platform; save the result as DICOM SEG; please include in the series description the name of your tool to simplify comparison tasks!
* results are uploaded
* run [dciodvfy DICOM validator](http://www.dclunie.com/dicom3tools/dciodvfy.html); iterate on resolving the identified issues as necessary
* no errors, only warnings from dciodvfy

File renamed without changes.
File renamed without changes.
9 changes: 6 additions & 3 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,12 @@ pages:
- Parametric maps: instructions/pm.md
- Longitudinal annotation: instructions/longitudinal.md
- Tractography (DICOM TR): instructions/tr.md
- Results:
- Organization: results/index.md
- Segmentation: results/seg/index.md
- Results organization: results/index.md
- Results - Segmentation:
- Summary: results/seg/index.md
- 3D Slicer: results/seg/slicer.md
- ePAD: results/seg/epad.md
- Brainlab: results/seg/brainlab.md
- History: history.md
- Referencs: refs.md

Expand Down

0 comments on commit ac976c7

Please sign in to comment.