📄 dcmpstat.h
字号:
OFCondition moveCurve(size_t old_layer, size_t idx, size_t new_layer); /* overlays */ /** gets the number of overlays that are currently activated * on the given graphic layer. * @param layer index of the graphic layer, must be < getNumberOfGraphicLayers() * @return number of active overlays */ size_t getNumberOfActiveOverlays(size_t layer); /** gets the repeating group number of the given activated overlay. * @param layer index of the graphic layer, must be < getNumberOfGraphicLayers() * @param idx index of the overlay, must be < getNumberOfActiveOverlays(). * @return repeating group number if found, 0 otherwise. */ Uint16 getActiveOverlayGroup(size_t layer, size_t idx); /** gets the number of overlays which are embedded in the * presentation state. * @return number of overlays in presentation state */ size_t getNumberOfOverlaysInPresentationState(); /** gets the repeating group number of the given overlay in the presentation state. * @param idx index of the overlay, must be < getNumberOfOverlaysInPresentationState(). * @return repeating group number if found, 0 otherwise. */ Uint16 getOverlayInPresentationStateGroup(size_t idx); /** gets the overlay label of the given overlay in the presentation state. * @param idx index of the overlay, must be < getNumberOfOverlaysInPresentationState(). * @return label string if it exists, NULL otherwise. */ const char *getOverlayInPresentationStateLabel(size_t idx); /** gets the overlay description of the given overlay in the presentation state. * @param idx index of the overlay, must be < getNumberOfOverlaysInPresentationState(). * @return description string if it exists, NULL otherwise. */ const char *getOverlayInPresentationStateDescription(size_t idx); /** gets the index of the activation layer on which the given * overlay from the presentation state is activated. If an overlay is used * as a bitmap shutter, it is reported as being not activated by this method. * @param idx index of the overlay, must be < getNumberOfOverlaysInPresentationState(). * @return layer index (which is < getNumberOfGraphicLayers()) if overlay exists * and is activated, DVPS_IDX_NONE otherwise. */ size_t getOverlayInPresentationStateActivationLayer(size_t idx); /** checks if the given overlay in the presentation state * is currently activated as a bitmap shutter. * @param idx index of the overlay, must be < getNumberOfOverlaysInPresentationState(). * @return OFTrue if overlay exists and is activated as bitmap shutter, OFFalse otherwise. */ OFBool overlayIsBitmapShutter(size_t idx); /** checks whether the given overlay in the presentation state is a ROI * (region of interest) overlay. * @param idx index of the overlay, must be < getNumberOfOverlaysInPresentationState(). * @return OFTrue if overlay exists and is ROI, OFFalse otherwise. */ OFBool overlayInPresentationStateIsROI(size_t idx); /** moves the overlay activation with the given index on the given * layer to a different layer. * @param old_layer index of the graphic layer on which the curve is, * must be < getNumberOfGraphicLayers() * @param idx index of the overlay activation, must be < getNumberOfActiveOverlays(layer) * @param new_layer index of the graphic layer to which the curve is moved, * must be < getNumberOfGraphicLayers() * @return EC_Normal upon success, an error code otherwise */ OFCondition moveOverlay(size_t old_layer, size_t idx, size_t new_layer); /* attached image */ /* Display transform */ /* print related methods */ /** sets a new log stream * @param stream new log stream, NULL for default logstream * @param verbMode verbose mode flag * @param dbgMode debug mode flag */ void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);private: /** private undefined copy constructor */ DcmPresentationState(const DcmPresentationState& copy); /** private undefined assignment operator */ DcmPresentationState& operator=(const DcmPresentationState& obj); /** create dummy values for all missing type 1 elements. * Called before a presentation state is written to make sure * that the presentation state is complete. * @param replaceSOPInstanceUID flag indicating whether the * SOP Instance UID should be replaced by a new UID. * If true, a new UID is always generated. If false, a new * UID is generated only if no UID has been assigned before. * @return EC_Normal if successful, an error code otherwise. */ OFCondition createDummyValues(OFBool replaceSOPInstanceUID); /** removes and deletes all graphic layer for which * no matching text, graphic, curve or overlay object exists. * Also deletes all graphic annotation sequence items containing * no text and no graphic object. Called before writing a presentation state. */ void cleanupLayers();protected: /** creates a default displayed area selection for the given dataset. * Used in createFromImage(). * @param dset the DICOM dataset containing the image IOD * @return EC_Normal upon success, an error code otherwise. */ OFCondition createDefaultDisplayedArea(DcmItem &dset); /* Module: Patient (M) */ /// Module=Patient, VR=PN, VM=1, Type 1 DcmPersonName patientName; /// Module=Patient, VR=LO, VM=1, Type 2 DcmLongString patientID; /// Module=Patient, VR=DA, VM=1, Type 2 DcmDate patientBirthDate; /// Module=Patient, VR=CS, VM=1, Type 2 DcmCodeString patientSex; /* Module: General Study (M) */ /// Module=General_Study, VR=UI, VM=1, Type 1 DcmUniqueIdentifier studyInstanceUID; /// Module=General_Study, VR=DA, VM=1, Type 2 DcmDate studyDate; /// Module=General_Study, VR=TM, VM=1, Type 2 DcmTime studyTime; /// Module=General_Study, VR=PN, VM=1, Type 2 DcmPersonName referringPhysiciansName; /// Module=General_Study, VR=SH, VM=1, Type 2 DcmShortString studyID; /// Module=General_Study, VR=SH, VM=1, Type 2 DcmShortString accessionNumber; /* Module: General Series (M) */ /// Module=General_Series, VR=UI, VM=1, Type 1 DcmUniqueIdentifier seriesInstanceUID; /// Module=General_Series, VR=IS, VM=1, Type 2 DcmIntegerString seriesNumber; /* Module: Presentation Series (M) - specializes general series */ // modality; see General Series /* Module: General Equipment (M) */ /// Module=General_Equipment, VR=LO, VM=1, Type 2 DcmLongString manufacturer; /* Module: Displayed Area (M) */ DVPSDisplayedArea_PList displayedAreaSelectionList; /* Module: Softcopy Presentation LUT (M) * There must never be more that one Presentation LUT for one Presentation State, * therefore we need not save a list of LUTs. */ DVPSPresentationLUT presentationLUT; /* Module: Presentation State (M) * specializes mask and display shutter */ /// Module=Presentation_State, VR=IS, VM=1, Type 1 DcmIntegerString imageNumber; /// Module=Presentation_State, VR=CS, VM=1, Type 1 DcmCodeString presentationLabel; /// Module=Presentation_State, VR=LO, VM=1, Type 2 DcmLongString presentationDescription; /// Module=Presentation_State, VR=DA, VM=1, Type 1 DcmDate presentationCreationDate; /// Module=Presentation_State, VR=TM, VM=1, Type 1 DcmTime presentationCreationTime; /// Module=Presentation_State, VR=PN, VM=1, Type 2 DcmPersonName presentationCreatorsName; /// ReferencedSeriesSequence, Module=Presentation_State DVPSReferencedSeries_PList referencedSeriesList; // shutterPresentationValue; Type 1c. See Display Shutter module /* Module: SOP Common (M) * we don't store the SOP Class UID because it is well known. */ /// Module=SOP_Common, VR=UI, VM=1, Type 1 DcmUniqueIdentifier sOPInstanceUID; /// Module=SOP_Common, VR=CS, VM=1-n, Type 1C DcmCodeString specificCharacterSet; /// Module=SOP_Common, VR=DA, VM=1, Type 3 DcmDate instanceCreationDate; /// Module=SOP_Common, VR=TM, VM=1, Type 3 DcmTime instanceCreationTime; /// Module=SOP_Common, VR=UI, VM=1, Type 3 DcmUniqueIdentifier instanceCreatorUID; /* Module: Display Shutter (C) * "required if display shutter to be applied and BitmapDispShutter not present" */ /// if true, a rectangular shutter is in use OFBool useShutterRectangular; /// if true, a circular shutter is in use OFBool useShutterCircular; /// if true, a polygonal shutter is in use OFBool useShutterPolygonal; /// if true, a bitmap shutter is in use OFBool useShutterBitmap; /// Module=Display_Shutter, VM=CS, VR=1-3, Type 1 DcmCodeString shutterShape; /// Module=Display_Shutter, VR=IS, VM=1, Type 1C DcmIntegerString shutterLeftVerticalEdge; /// Module=Display_Shutter, VR=IS, VM=1, Type 1C DcmIntegerString shutterRightVerticalEdge; /// Module=Display_Shutter, VR=IS, VM=1, Type 1C DcmIntegerString shutterUpperHorizontalEdge; /// Module=Display_Shutter, VR=IS, VM=1, Type 1C DcmIntegerString shutterLowerHorizontalEdge; /// Module=Display_Shutter, VR=IS, VM=2, Type 1C DcmIntegerString centerOfCircularShutter; /// Module=Display_Shutter, VR=IS, VM=1, Type 1C DcmIntegerString radiusOfCircularShutter; /// Module=Display_Shutter, VR=IS, VM=2-2n, Type 1C DcmIntegerString verticesOfThePolygonalShutter; /// Module=Display_Shutter, VR=US, VM=1, Type 3 (1c in other modules) DcmUnsignedShort shutterPresentationValue; /* Module: Bitmap Display Shutter (C) * "required if display shutter to be applied and DispShutter not present" */ /// Module=Bitmap_Display_Shutter, VR=US, VM=1, Type 1 DcmUnsignedShort shutterOverlayGroup; // shutterPresentationValue already defined in Display Shutter module // shutterShape already defined in Display Shutter module /* Module: Overlay Plane (C) * "required if overlay to be applied or BitmapDispShutter present" */ /// Overlay(s), Module=Overlay_Plane DVPSOverlay_PList overlayList; /* Module: Overlay/Curve Activation (C) * "required if ref. image contains overlay or curve to be displayed" */ /// Overlay/Curve Activation Layer(s), Module=Overlay_Activation/Curve_Activation DVPSOverlayCurveActivationLayer_PList activationLayerList; /* Module: Graphic Annotation (C) * "required if graphical annotation to be applied" */ /// GraphicAnnotationSequence, Module=Graphic_Annotation DVPSGraphicAnnotation_PList graphicAnnotationList; /* Module: Spatial Transformation (C) * "required if rotation/flipping/magnification to be applied" */ /// Module=Spatial_Transform, VR=US, VM=1, Type 1 DcmUnsignedShort imageRotation; /// Module=Spatial_Transform, VR=CS, VM=1, Type 1 DcmCodeString imageHorizontalFlip; /* Module: Graphic Layer (C) * "required if graphic annotation, overlays or curves to be applied" */ /// GraphicLayerSequence, Module=Graphic_Layer DVPSGraphicLayer_PList graphicLayerList; /* Module: Modality LUT (C) * "required if modality LUT to be applied" * There must never be more that one Modality LUT for one Presentation State, * therefore we need not save a list of LUTs. */ /// if true, a modality rescale slope/intercept is set OFBool useModalityRescale; /// if true, a modality LUT is set OFBool useModalityLUT; /// Module=Modality_LUT, VR=xs, VM=3, Type 1c DcmUnsignedShort modalityLUTDescriptor; /// Module=Modality_LUT, VR=LO, VM=1, Type 3 DcmLongString modalityLUTExplanation; /// Module=Modality_LUT, VR=LO, VM=1, Type 3 DcmLongString modalityLUTType; /// Module=Modality_LUT, VR=xs, VM=1-n, Type 1c DcmUnsignedShort modalityLUTData; /// Module=Modality_LUT, VR=DS, VM=1, Type 1c DcmDecimalString rescaleIntercept; /// Module=Modality_LUT, VR=DS, VM=1, Type 1c DcmDecimalString rescaleSlope; /// Module=Modality_LUT, VR=LO, VM=1, Type 1c DcmLongString rescaleType; /* Module: Softcopy VOI LUT (C) * "required if VOI LUT to be applied" */ DVPSSoftcopyVOI_PList softcopyVOIList; /** output stream for error messages, never NULL */ OFConsole *logstream; /** flag indicating whether we're operating in verbose mode */ OFBool verboseMode; /** flag indicating whether we're operating in debug mode */ OFBool debugMode;};#endif/* * $Log: dcmpstat.h,v $ * Revision 1.2 2005/12/08 16:03:29 meichel * Changed include path schema for all DCMTK header files * * Revision 1.1 2003/08/27 14:57:19 meichel * Splitted class DVPresentationState into a base class DcmPresentationState * that does not depend on module dcmimgle and current derived class with * public API identical to the previous version. * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -