how to create and display overlays?

All other questions regarding DICOMscope

Moderator: Moderator Team

Post Reply
Message
Author
dongshuqin163
Posts: 3
Joined: Tue, 2007-07-24, 10:26

how to create and display overlays?

#1 Post by dongshuqin163 »

Hi , all:
:D . Can anybody tell me how to use the presentation state to create and display overlays(circle, rectangle, etc.)?

Thank you very much.
Any help will be appreciated!

Best Regards.
Donna

dongshuqin163
Posts: 3
Joined: Tue, 2007-07-24, 10:26

#2 Post by dongshuqin163 »

1. set the overlay data manually using DcmTag. right?

2. Use the DVPresentation::addOverlayToPresentationState() or addGraphicObject()? to attatch the overlay to the presentation state.

3. how to display the overlay in presentation state?


Any body can help me please? The problem is very urgent.

Thank you very much!

Best wishes!

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1444
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

#3 Post by Marco Eichelberg »

Can anybody tell me how to use the presentation state to create and display overlays(circle, rectangle, etc.)?
Different ways to create presentation states with overlays are possible with DCMTK. You could create the presentation state object (as a DcmDataset) on your own, or you could use the high-level API provided by class DVPresentationState.
1. set the overlay data manually using DcmTag. right?
DcmTag is most probably not what you want.
2. Use the DVPresentation::addOverlayToPresentationState() or addGraphicObject()? to attatch the overlay to the presentation state.
This method is only used for bitmap overlays, not for vector data such as rectangles or circles. The general path is to call DVPresentationState::addGraphicLayer() to create a graphic layer, then use DVPresentationState::getGraphicLayerIndex() to determine the index of that layer (there are various other methods to set the properties of that layer, such as the display color). Call DVPresentationState::addGraphicObject() to create an empy graphic object in that layer, and then use the pointer to the DVPSGraphicObject object returned by that method to fill the graphic object: DVPSGraphicObject::setGraphicType(), DVPSGraphicObject::setData() and DVPSGraphicObject::setFilled().
3. how to display the overlay in presentation state?
DCMTK does not provide routines for that. Class DVPresentationState provides all APIs you need to access the presentation state data, but you have to render it in your application. In DICOMscope, this is done by the Java layer.

dongshuqin163
Posts: 3
Joined: Tue, 2007-07-24, 10:26

#4 Post by dongshuqin163 »

Marco Eichelberg:

Thank you very much for your detailed and impatient reply!
Best wishes.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest