DYT/Tool/3rdParty_x64/include/dcmtk/dcmpstat/dvpstyp.h

524 lines
12 KiB
C
Raw Normal View History

2024-11-22 15:19:31 +00:00
/*
*
* Copyright (C) 1998-2010, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmpstat
*
* Author: Marco Eichelberg
*
* Purpose:
* enums: DVPSoverlayActivation, DVPSVOIActivation, DVPSGraphicLayering
* DVPSPresentationLUTType, DVPSRotationType,
* DVPSShutterType
*
*/
#ifndef DVPSTYP_H
#define DVPSTYP_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#define INCLUDE_CSTDIO
#include "dcmtk/ofstd/ofstdinc.h"
/** describes how to handle overlays when creating a default presentation state
* for an image.
*/
enum DVPSoverlayActivation
{
/** ignore overlays even if present in the image.
* A presentation state without any embedded or activated overlays
* is created.
*/
DVPSO_ignoreOverlays,
/** if overlays are present in the image, activate but do not copy them.
* If the image contains overlays, overlay activation elements are
* created in the presentation state object. The overlays remain in the image.
*/
DVPSO_referenceOverlays,
/** if overlays are present in the image, copy them.
* If the image contains overlays which are not embedded in the pixel
* data but use the OverlayData element, the overlays are copied to the
* presentation state and activated.
* Overlays that are embedded in the image pixel data are not copied
* but also activated.
*/
DVPSO_copyOverlays
};
/** describes how to handle VOI transformations when creating a default presentation state
* for an image.
*/
enum DVPSVOIActivation
{
/** ignore VOI transformations even if present in the image.
* The presentation state will not contain any VOI transformation.
*/
DVPSV_ignoreVOI,
/** select the first VOI window if present, VOI LUT alternatively.
* If the image contains one or more settings for window center and
* window width, the first window center/width is copied to the presentation
* state. If the image contains no window center/width but does contain
* one or more VOI LUTs, the first VOI LUT is copied to the presentation
* state.
*/
DVPSV_preferVOIWindow,
/** select the first VOI LUT if present, VOI Window alternatively.
* If the image contains one or more VOI LUTs,
* the first VOI LUT is copied to the presentation
* state. If the image contains no VOI LUT but does contain
* one or more settings for window center/width, the first
* window center and width are copied to the presentation state.
*/
DVPSV_preferVOILUT
};
/** describes how to handle layering of curves and overlays
* when creating a default presentation state for an image.
*/
enum DVPSGraphicLayering
{
/** put all overlays and curves into a single graphic layer.
* If curves and/or overlays are present, a single graphic layer is
* created and all curves and overlays are assigned to this single layer.
*/
DVPSG_oneLayer,
/** create one graphic layer for overlays and one graphic layer for curves on top of that.
* If overlays are present, one layer containing all overlays is created.
* If curves are present, a different layer containing all curves is created.
* If both curves and overlays are present, the curves are assigned the higher layer order.
*/
DVPSG_twoLayers,
/** create individual layers for each referenced element, curves on top of overlays.
* For each overlay and curve present, a separate graphic layer is created.
* The curve layers have higher order than the overlay layers.
*/
DVPSG_separateLayers
};
/** describes a type of presentation LUT that is currently
* being used or set in a presentation state.
*/
enum DVPSPresentationLUTType
{
/** Presentation LUT Shape with value 'IDENTITY'
*/
DVPSP_identity,
/** Presentation LUT Shape with value 'INVERSE'
*/
DVPSP_inverse,
/** Presentation LUT look up table
*/
DVPSP_table,
/** Presentation LUT Shape with value 'LIN OD'
*/
DVPSP_lin_od
};
/** some Print SCPs which support Presentation LUTs require that the number
* of entries in a Presentation LUT matches the bit depth of the image pixel
* data (4096 entries for 12 bit pixel data, 256 entries for 8 bit pixel
* data). An instance of this enumeration describes the characteristics
* of a Presentation LUT with regard to this matching rule.
*/
enum DVPSPrintPresentationLUTAlignment
{
/** Presentation LUT Shape, matches all kinds of image data
*/
DVPSK_shape,
/** Presentation LUT with 256 entries and first entry mapped to 0,
* matches 8 bit image data
*/
DVPSK_table8,
/** Presentation LUT with 4096 entries and first entry mapped to 0,
* matches 12 bit image data
*/
DVPSK_table12,
/** Presentation LUT Shape with number of entries other than 256 or 4096
* or with first entry mapped to anything but 0.
*/
DVPSK_other
};
/** describes the rotation status of a presentation state.
*/
enum DVPSRotationType
{
/** no rotation
*/
DVPSR_0_deg,
/** rotation of 90 degrees
*/
DVPSR_90_deg,
/** rotation of 180 degrees
*/
DVPSR_180_deg,
/** rotation of 270 degrees
*/
DVPSR_270_deg
};
/** describes the different types of display shutters
*/
enum DVPSShutterType
{
/** rectangular shutter
*/
DVPSU_rectangular,
/** circular shutter
*/
DVPSU_circular,
/** polygonal shutter
*/
DVPSU_polygonal,
/** bitmap shutter
*/
DVPSU_bitmap
};
/** describes the different types of annotation units
*/
enum DVPSannotationUnit
{
/** pixels
*/
DVPSA_pixels,
/** fraction of specified display area
*/
DVPSA_display
};
/** describes the specific character set of a DICOM element.
* The defined terms for code extension techniques are
* not supported.
*/
enum DVPScharacterSet
{
/** ISO 646 (ISO-IR 6): ASCII
*/
DVPSC_ascii,
/** ISO-IR 100: Latin alphabet No. 1
*/
DVPSC_latin1,
/** ISO-IR 101: Latin alphabet No. 2
*/
DVPSC_latin2,
/** ISO-IR 109: Latin alphabet No. 3
*/
DVPSC_latin3,
/** ISO-IR 110: Latin alphabet No. 4
*/
DVPSC_latin4,
/** ISO-IR 148: Latin alphabet No. 5
*/
DVPSC_latin5,
/** ISO-IR 144: Cyrillic
*/
DVPSC_cyrillic,
/** ISO-IR 127: Arabic
*/
DVPSC_arabic,
/** ISO-IR 126: Greek
*/
DVPSC_greek,
/** ISO-IR 138: Hebrew
*/
DVPSC_hebrew,
/** ISO-IR 13: Japanese (Katakana/Romaji)
*/
DVPSC_japanese,
/** unrecognized term or code extension
*/
DVPSC_other
};
/** describes the different types of graphic objects
*/
enum DVPSGraphicType
{
/** single point
*/
DVPST_point,
/** non-interpolated polygonal line
*/
DVPST_polyline,
/** interpolated polygonal line
*/
DVPST_interpolated,
/** circle
*/
DVPST_circle,
/** ellipse
*/
DVPST_ellipse
};
/** describes a curve type
*/
enum DVPSCurveType
{
/** region of interest (ROI) - a closed polygonal line
*/
DVPSL_roiCurve,
/** polyline - an open polygonal line
*/
DVPSL_polylineCurve
};
/** describes the horizontal justification of a text box
*/
enum DVPSTextJustification
{
/** left justified text
*/
DVPSX_left,
/** right justified text
*/
DVPSX_right,
/** centered text
*/
DVPSX_center
};
/** describes the images and frames to which
* an object (graphic layer, displayed area selection or VOI) is applicable
*/
enum DVPSObjectApplicability
{
/** the object only applies to the current (selected) frame of the current (attached) image
*/
DVPSB_currentFrame,
/** the object applies to all frames of the current (attached) image
*/
DVPSB_currentImage,
/** the object applies to all frames of all referenced images
*/
DVPSB_allImages
};
/** describes the presentation size mode for a displayed area selection
*/
enum DVPSPresentationSizeMode
{
/** the displayed area should be scaled to fill the screen
*/
DVPSD_scaleToFit,
/** the displayed area should be scaled to its true physical size
*/
DVPSD_trueSize,
/** the displayed area should be scaled to a fixed scaling factor
*/
DVPSD_magnify
};
/** describes the service type supported by a DICOM communication peer
*/
enum DVPSPeerType
{
/** Storage SCP peer
*/
DVPSE_storage,
/** local Storage SCP
*/
DVPSE_receiver,
/** remote Print Management SCP
*/
DVPSE_printRemote,
/** local Print Management SCP
*/
DVPSE_printLocal,
/** local or remote Print Management SCP
*/
DVPSE_printAny,
/** any type of peer
*/
DVPSE_any
};
/** describes the orientation (portrait or landscape) of a basic film box
*/
enum DVPSFilmOrientation
{
/** portrait orientation
*/
DVPSF_portrait,
/** landscape orientation
*/
DVPSF_landscape,
/** printer default
*/
DVPSF_default
};
/** describes the trim mode (printing of borders around image boxes) for a basic film box
*/
enum DVPSTrimMode
{
/** print with trims (borders)
*/
DVPSH_trim_on,
/** print without trims (borders)
*/
DVPSH_trim_off,
/** printer default
*/
DVPSH_default
};
/** describes the decimate/crop behaviour for a basic image box
*/
enum DVPSDecimateCropBehaviour
{
/** a magnification factor less than one to be applied to the image.
*/
DVPSI_decimate,
/** some image rows and/or columns are to be deleted before printing.
*/
DVPSI_crop,
/** the SCP shall not crop or decimate
*/
DVPSI_fail,
/** printer default
*/
DVPSI_default
};
/** describes the type of display function
*/
enum DVPSDisplayTransform
{
/** first entry
*/
DVPSD_first=0,
/** Grayscale Standard Display Function (defined in DICOM part 14)
*/
DVPSD_GSDF=DVPSD_first,
/** CIE Lab
*/
DVPSD_CIELAB=1,
/** no display transform
*/
DVPSD_none=2,
/** number of display transforms
*/
DVPSD_max=DVPSD_none
};
/** describes the result of an association negotiation
*/
enum DVPSAssociationNegotiationResult
{
/** negotiation was successful
*/
DVPSJ_success,
/** negotiation was unsuccessful
*/
DVPSJ_error,
/** peer requests termination of server process
*/
DVPSJ_terminate
};
/** describes the bit depth of a Basic Grayscale Image Box
*/
enum DVPSImageDepth
{
/** not yet assigned
*/
DVPSN_undefined,
/** 8 bit
*/
DVPSN_8bit,
/** 12 bit
*/
DVPSN_12bit
};
/** describes the certificate verification policy for TLS association negotiation
*/
enum DVPSCertificateVerificationType
{
/** verify peer certificate, refuse transmission if absent
*/
DVPSQ_require,
/** verify peer certificate if present
*/
DVPSQ_verify,
/** don't verify peer certificate
*/
DVPSQ_ignore
};
/** describes the types of objects handled by the dcmpstat signature routines
*/
enum DVPSObjectType
{
/** structured report
*/
DVPSS_structuredReport,
/** image
*/
DVPSS_image,
/** grayscale softcopy presentation state
*/
DVPSS_presentationState
};
/** describes the types of objects handled by the dcmpstat signature routines
*/
enum DVPSSignatureStatus
{
/** no digital signatures are present
*/
DVPSW_unsigned,
/** one or more digital signatures are present and have been successfully verified
*/
DVPSW_signed_OK,
/** one or more digital signatures are present, and all of them are valid.
* However, at least one of them was created
* with a certificate issued by an unknown CA.
*/
DVPSW_signed_unknownCA,
/** one or more digital signatures are present and at least one of them
* could not be successfully verified because it was corrupt.
*/
DVPSW_signed_corrupt
};
/** describes the mode to verify and sign structured reports
*/
enum DVPSVerifyAndSignMode
{
/** verify the document only
*/
DVPSY_verify,
/** verify and digitally sign the document (apart from VerifyingObserver and SOPInstanceUID)
*/
DVPSY_verifyAndSign,
/** verify and digitally sign the entire document (finalize it)
*/
DVPSY_verifyAndSign_finalize
};
#endif