DVInterface Class Reference

Interface class for the Softcopy Presentation State viewer. More...

Inheritance diagram for DVInterface:

DVConfiguration List of all members.

Public Member Functions

 DVInterface (const char *config_file=NULL, OFBool useLog=OFFalse)
 constructor.
virtual ~DVInterface ()
 destructor.
OFCondition loadImage (const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus=OFFalse)
 loads an image which is contained in the database and creates a default presentation state for the image.
OFCondition loadImage (const char *filename)
 loads an image (which need not be contained in the database) and creates a default presentation state for the image.
OFCondition loadReferencedImage (size_t idx, OFBool changeStatus=OFFalse)
 loads an image which referenced by the current presentation state and needs to be contained in the database.
OFCondition loadPState (const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus=OFFalse)
 loads a presentation state which is contained in the database.
OFCondition loadPState (const char *pstName, const char *imgName=NULL)
 loads a presentation state and an image (which need not be contained in the database) and attaches the image to the presentation state (if specified, otherwise the current image will be used).
OFCondition loadStructuredReport (const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus=OFFalse)
 loads a structured report which is contained in the database.
OFCondition loadStructuredReport (const char *filename)
 loads a structured report (which need not be contained in the database).
OFCondition loadSRTemplate (const char *reportID)
 loads a structured reporting "template".
OFCondition savePState (OFBool replaceSOPInstanceUID)
 saves the current presentation state in the same directory in which the database index file resides.
OFCondition savePState (const char *filename, OFBool replaceSOPInstanceUID, OFBool explicitVR=OFTrue)
 saves the current presentation state in a file with the given path and filename.
OFCondition saveCurrentImage (const char *filename, OFBool explicitVR=OFTrue)
 saves the DICOM image that is currently attached to the presentation state in a file with the given path and filename.
OFCondition saveStructuredReport ()
 saves the current structured report in the same directory in which the database index file resides.
OFCondition saveStructuredReport (const char *filename, OFBool explicitVR=OFTrue)
 saves the current structured report in a file with the given path and filename.
OFCondition addImageReferenceToPState (const char *studyUID, const char *seriesUID, const char *instanceUID)
 adds an image which is contained in the database to the list of referenced images of the current presentation state.
size_t getNumberOfImageReferences ()
 gets the number of image references contained in the current presentation state.
DVPresentationStategetCurrentPState ()
 returns a reference to the current presentation state.
DSRDocumentgetCurrentReport ()
 returns a reference to the current structured report.
DVPSStoredPrintgetPrintHandler ()
 returns a reference to the print handler.
OFCondition resetPresentationState ()
 resets the presentation state object to the status it had immediately after the last successful operation of "loadImage" or "loadPState".
OFCondition saveCurrentPStateForReset ()
 saves the current state of the presentation state object to be used for resetPresentationState().
OFCondition releaseDatabase ()
 removes any shared or exclusive lock on the database.
const char * getFilename (const char *studyUID, const char *seriesUID, const char *instanceUID)
 searches in the database for a DICOM instance with the given study, series and instance UIDs and returns its pathname if found.
Uint32 getNumberOfStudies ()
 returns the number of studies currently contained in the database.
OFCondition selectStudy (Uint32 idx)
 selects the study with the given index in the database.
OFCondition selectStudy (const char *studyUID)
 selects the study with the given UID in the database.
DVIFhierarchyStatus getStudyStatus ()
 returns the review status of the currently selected study.
const char * getStudyUID ()
 returns the Study Instance UID of the currently selected study.
const char * getStudyDescription ()
 returns the Study Description of the currently selected study.
const char * getStudyDate ()
 returns the Study Date of the currently selected study.
const char * getStudyTime ()
 returns the Study Time of the currently selected study.
const char * getReferringPhysiciansName ()
 returns the Referring Physicians Name of the currently selected study.
const char * getAccessionNumber ()
 returns the Accession Number of the currently selected study.
const char * getNameOfPhysiciansReadingStudy ()
 returns the Name Of Physicians Reading Study of the currently selected study.
const char * getPatientName ()
 returns the Patient Name of the currently selected study.
const char * getPatientID ()
 returns the Patient ID of the currently selected study.
const char * getPatientBirthDate ()
 returns the Patient Birth Date of the currently selected study.
const char * getPatientSex ()
 returns the Patient Sex of the currently selected study.
const char * getPatientBirthTime ()
 returns the Patient Birth Time of the currently selected study.
const char * getOtherPatientNames ()
 returns the Other Patient Names of the currently selected study.
const char * getOtherPatientID ()
 returns the Other Patient ID of the currently selected study.
const char * getEthnicGroup ()
 returns the Patient Ethnic Group of the currently selected study.
Uint32 getNumberOfSeries ()
 returns the number of series within the currently selected study.
OFCondition selectSeries (Uint32 idx)
 selects the series with the given index within the currently selected study.
OFCondition selectSeries (const char *seriesUID)
 selects the series with the given UID within the currently selected study.
const char * getSeriesUID ()
 returns the Series Instance UID of the currently selected series.
DVIFhierarchyStatus getSeriesStatus ()
 returns the review status of the currently selected series.
DVPSInstanceType getSeriesType ()
 returns the type of all instances within the currently selected series.
DVPSInstanceType getInstanceType ()
 returns the type of the currently selected instance.
const char * getSeriesNumber ()
 returns the Series Number of the currently selected series.
const char * getSeriesDate ()
 returns the Series Date of the currently selected series.
const char * getSeriesTime ()
 returns the Series Time of the currently selected series.
const char * getSeriesDescription ()
 returns the Series Description of the currently selected series.
const char * getSeriesPerformingPhysiciansName ()
 returns the Series Performing Physicians Name of the currently selected series.
const char * getSeriesProtocolName ()
 returns the Series Protocol Name of the currently selected series.
const char * getSeriesOperatorsName ()
 returns the Series Operators Name of the currently selected series.
const char * getModality ()
 returns the Modality of the currently selected series.
Uint32 getNumberOfInstances ()
 returns the number of instances (IODs) within the currently selected series.
OFCondition selectInstance (Uint32 idx)
 selects the instance with the given index within the currently selected series.
OFCondition selectInstance (const char *instanceUID)
 selects the instance with the given UID within the currently selected series.
OFCondition selectInstance (const char *instanceUID, const char *sopClassUID)
 selects the instance with the given UID and SOP class over all studies and series.
OFCondition selectInstance (const char *studyUID, const char *seriesUID, const char *instanceUID)
 selects the instance with the given UIDs.
const char * getSOPClassUID ()
 returns the SOP class UID of the currently selected instance.
const char * getInstanceUID ()
 returns the SOP Instance UID of the currently selected instance.
const char * getImageNumber ()
 returns the Image Number of the currently selected instance.
const char * getFilename ()
 returns the Filename of the currently selected instance.
DVIFhierarchyStatus getInstanceStatus ()
 returns the review status of the currently selected instance.
const char * getInstanceDescription ()
 returns the escription of the currently selected instance.
const char * getPresentationLabel ()
 returns the Presentation Label of the currently selected instance.
OFCondition instanceReviewed (const char *studyUID, const char *seriesUID, const char *instanceUID)
 modifies the review flag for one instance in the database, which is set to 'reviewed' state (DVIF_objectIsNotNew).
OFCondition deleteInstance (const char *studyUID, const char *seriesUID, const char *instanceUID)
 deletes the given instance from the database.
OFCondition deleteSeries (const char *studyUID, const char *seriesUID)
 deletes the given series from the database.
OFCondition deleteStudy (const char *studyUID)
 deletes the given study from the database.
OFCondition startReceiver ()
 starts the network receiver processes (Storage Service Class SCPs).
OFCondition terminateReceiver ()
 terminates the network receiver process (Storage Service Class SCP).
OFCondition startQueryRetrieveServer ()
 starts the query/retrieve server process (Query/Retrieve Service Class SCP).
OFCondition terminateQueryRetrieveServer ()
 terminates the query/retrieve server process (Query/Retrieve Service Class SCP).
OFBool newInstancesReceived ()
 tests whether the database has been modified in any way since the last call to this method.
OFCondition sendStudy (const char *targetID, const char *studyUID)
 sends a complete study over network to a different DICOM peer.
OFCondition sendSeries (const char *targetID, const char *studyUID, const char *seriesUID)
 sends a complete series over network to a different DICOM peer.
OFCondition sendIOD (const char *targetID, const char *studyUID, const char *seriesUID, const char *instanceUID)
 sends a single instance (image or presentation state) over network to a different DICOM peer.
OFCondition dumpIOD (const char *filename)
 creates a dump of the contents of a DICOM file and displays it on-screen.
OFCondition dumpIOD (const char *studyUID, const char *seriesUID, const char *instanceUID)
 creates a dump of the contents of a DICOM file and displays it on-screen.
OFCondition checkIOD (const char *filename)
 checks the contents of a DICOM file and displays an evaluation report on the screen.
OFCondition checkIOD (const char *studyUID, const char *seriesUID, const char *instanceUID)
 checks the contents of a DICOM file and displays an evaluation report on the screen.
OFCondition saveDICOMImage (const char *filename, const void *pixelData, unsigned long width, unsigned long height, double aspectRatio=1.0, OFBool explicitVR=OFTrue, const char *instanceUID=NULL)
 saves a monochrome bitmap as a DICOM Secondary Capture image.
OFCondition saveDICOMImage (const void *pixelData, unsigned long width, unsigned long height, double aspectRatio=1.0)
 saves a monochrome bitmap as a DICOM Secondary Capture image in the same directory in which the database index file resides.
OFCondition saveHardcopyGrayscaleImage (const char *filename, const void *pixelData, unsigned long width, unsigned long height, double aspectRatio=1.0, OFBool explicitVR=OFTrue, const char *instanceUID=NULL)
 saves a monochrome bitmap as a DICOM Hardcopy Grayscale image.
OFCondition saveHardcopyGrayscaleImage (const void *pixelData, unsigned long width, unsigned long height, double aspectRatio=1.0)
 saves a monochrome bitmap as a DICOM Hardcopy Grayscale image in the same directory in which the database index file resides.
OFCondition saveFileFormatToDB (DcmFileFormat &fileformat)
 saves a DICOM object into a file in the same directory in which the database index file resides.
OFCondition loadStoredPrint (const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus=OFFalse)
 loads a Stored Print object which is contained in the database into memory.
OFCondition loadStoredPrint (const char *filename)
 loads a Stored Print object (which need not be contained in the database) into memory.
OFCondition saveStoredPrint (const char *filename, OFBool writeRequestedImageSize, OFBool explicitVR=OFTrue, const char *instanceUID=NULL)
 saves the current print job as a Stored Print object.
OFCondition saveStoredPrint (OFBool writeRequestedImageSize)
 saves the current print job as a Stored Print object in the same directory in which the database index file resides.
size_t getNumberOfPrintPreviews ()
 gets the number of Hardcopy Grayscaleimages currently registered by the stored print object.
OFCondition loadPrintPreview (size_t idx, OFBool printLUT=OFTrue, OFBool changeStatus=OFFalse)
 loads a Hardcopy Grayscale image registered by the stored print object and creates a preview.
void unloadPrintPreview ()
 removes a currently loaded Hardcopy Grayscale image from memory.
unsigned long getPrintPreviewSize ()
 gets number of bytes used for the print preview bitmap.
void setMaxPrintPreviewWidthHeight (unsigned long width, unsigned long height)
 sets the maximum print preview bitmap width and height.
OFCondition getPrintPreviewWidthHeight (unsigned long &width, unsigned long &height)
 gets width and height of print preview bitmap.
OFCondition getPrintPreviewBitmap (void *bitmap, unsigned long size)
 writes the bitmap data of the print preview image into the given buffer.
OFCondition disablePState ()
 stores the current presentation state in a temporary place and creates a new presentation state that corresponds with an image displayed "without" presentation state.
OFCondition enablePState ()
 restores the stored presentation state (see disablePresentationState) and deletes the temporary presentation state.
Uint32 getNumberOfPStates ()
 returns number of presentation states referencing the currently selected image.
OFCondition selectPState (Uint32 idx, OFBool changeStatus=OFFalse)
 selects and loads specified presentation state referencing the currently selected image.
const char * getPStateDescription (Uint32 idx)
 returns description of specified presentation state referencing the currently selected image.
const char * getPStateLabel (Uint32 idx)
 returns label of specified presentation state referencing the currently selected image.
OFBool isDisplayTransformPossible (DVPSDisplayTransform transform=DVPSD_GSDF)
 checks whether display correction is possible (in principle), i.e.
OFCondition setAmbientLightValue (double value)
 sets ambient light value for the display transformation.
OFCondition getAmbientLightValue (double &value)
 returns ambient light value for the display transformation.
OFCondition setCurrentPrinter (const char *targetID)
 selects the current printer.
const char * getCurrentPrinter ()
 gets the current printer's target ID.
OFCondition setPrinterMediumType (const char *value)
 sets the (optional) print medium type.
const char * getPrinterMediumType ()
 gets the (optional) print medium type.
OFCondition setPrinterFilmDestination (const char *value)
 sets the (optional) printer film destination.
const char * getPrinterFilmDestination ()
 gets the (optional) printer film destination.
OFCondition setPrinterFilmSessionLabel (const char *value)
 sets the (optional) printer film session label.
const char * getPrinterFilmSessionLabel ()
 gets the (optional) printer film session label.
OFCondition setPrinterPriority (const char *value)
 sets the (optional) print priority.
const char * getPrinterPriority ()
 gets the (optional) print priority.
OFCondition setPrinterOwnerID (const char *value)
 sets the (optional) print session owner ID.
const char * getPrinterOwnerID ()
 gets the (optional) print session owner ID.
OFCondition setPrinterNumberOfCopies (unsigned long value)
 sets the (optional) print number of copies.
unsigned long getPrinterNumberOfCopies ()
 gets the (optional) print number of copies.
void clearFilmSessionSettings ()
 resets the settings for basic film session (everything that is not managed by the Stored Print object) to initial state.
OFCondition selectDisplayPresentationLUT (const char *lutID)
 sets the LUT with the given identifier in the Presentation State as current Presentation LUT.
const char * getDisplayPresentationLUTID ()
 if the Presentation State contains an active Presentation LUT that was set with selectDisplayPresentationLUT(), return the corresponding LUT identifier.
OFCondition selectPrintPresentationLUT (const char *lutID)
 sets the LUT with the given identifier in the Stored Print object as current Presentation LUT.
const char * getPrintPresentationLUTID ()
 if the Stored Print object contains an active Presentation LUT that was set with selectPrintPresentationLUT(), return the corresponding LUT identifier.
OFCondition spoolPrintJob (OFBool deletePrintedImages=OFTrue)
 start spooling of print job with current settings.
OFCondition startPrintSpooler ()
 starts the print spooler process.
OFCondition terminatePrintSpooler ()
 terminates the print spooler process.
OFCondition startPrintServer ()
 starts the print server process (Basic Grayscale Print Management SCP).
OFCondition terminatePrintServer ()
 terminates the print server process (Basic Grayscale Print Management SCP).
OFCondition addToPrintHardcopyFromDB (const char *studyUID, const char *seriesUID, const char *instanceUID)
 adds an existing DICOM image (should be Hardcopy Grayscale) that is already present in the image database to the current print image queue without rendering it again.
OFCondition spoolStoredPrintFromDB (const char *studyUID, const char *seriesUID, const char *instanceUID)
 requests the spooler process to print an old print job that is stored in the database as a "stored print" object.
OFCondition printSCUcreateBasicFilmSession (DVPSPrintMessageHandler &printHandler, OFBool plutInSession)
 Initiates the creation of a DICOM Basic Film Session SOP Instance in the printer.
OFBool isActiveAnnotation ()
 gets the current setting of the annotation activity annotation flag.
OFBool getPrependDateTime ()
 gets the current setting of the Prepend Date/Time annotation flag.
OFBool getPrependPrinterName ()
 gets the current setting of the Prepend Printer Name annotation flag.
OFBool getPrependLighting ()
 gets the current setting of the Prepend Lighting annotation flag.
const char * getAnnotationText ()
 gets the current annotation text.
void setActiveAnnotation (OFBool value)
 switches annotation printing on/off
void setPrependDateTime (OFBool value)
 sets the Prepend Date/Time annotation flag.
void setPrependPrinterName (OFBool value)
 sets the Prepend Printer Name annotation flag.
void setPrependLighting (OFBool value)
 sets the Prepend Lighting annotation flag.
void setAnnotationText (const char *value)
 sets the current annotation text.
OFBool verifyUserPassword (const char *userID, const char *passwd)
 verifies the given password for the given user ID.
OFCondition verifyAndSignStructuredReport (const char *userID, const char *passwd, DVPSVerifyAndSignMode mode)
 verifies and digitally signs the current structured report.
const char * getCurrentSignatureValidationHTML (DVPSObjectType objtype) const
 returns a string containing a complete HTML page with the signature validation results for the last object of the given type.
const char * getCurrentSignatureValidationOverview () const
 returns a string containing a complete HTML page with the signature validation overview.
DVPSSignatureStatus getCurrentSignatureStatus (DVPSObjectType objtype) const
 returns the status flag for the current object of given type.
DVPSSignatureStatus getCombinedImagePStateSignatureStatus () const
 returns the combined status flag for the current image and presentation state.
unsigned long getNumberOfCorrectSignatures (DVPSObjectType objtype) const
 returns number of correct signatures for given object type.
unsigned long getNumberOfUntrustworthySignatures (DVPSObjectType objtype) const
 returns number of untrustworthy signatures for given object type.
unsigned long getNumberOfCorruptSignatures (DVPSObjectType objtype) const
 returns number of corrupt signatures for given object type.
void disableImageAndPState ()
 disables internal settings for image and presentation state.

Private Member Functions

 DVInterface (const DVInterface &)
 private undefined copy constructor
DVInterfaceoperator= (const DVInterface &)
 private undefined assignment operator
OFCondition exchangeImageAndPState (DVPresentationState *newState, DcmFileFormat *image, DcmFileFormat *state=NULL)
 helper function that exchanges the current presentation state and image by the pointers passed and frees the old ones.
OFCondition lockDatabase ()
 creates a database handle if none exists yet (this method may be called multiple times without interference) and puts a shared lock on the database.
OFCondition lockExclusive ()
 creates an exlusive lock on the database if none exists.
OFCondition unlockExclusive ()
 removes an exlusive lock on the database if any.
OFCondition createPrintJobFilenames (const char *printer, OFString &tempname, OFString &jobname)
 creates a new pair of filenames for print job creation.
OFCondition createQueryRetrieveServerConfigFile (const char *filename)
 creates the query/retrieve server configuration file.
OFCondition startExternalApplication (const char *application, const char *filename)
 starts an external application and passes a filename.
OFBool createIndexCache ()
 creates index cache to optimize reading of index file
OFBool createPStateCache ()
 creates cache of referencing pstates for the current image
void clearIndexCache ()
 clears index cache (includes pstate cache)
void clearIndexRecord (IdxRecord &record, int &recpos)
 clears specified index record (and makes pos invalid)
OFBool readIndexRecord (const int pos, IdxRecord &record, int *oldpos=NULL)
 reads specified index record (comparing pos with oldpos to avoid redundant loading)
void updateStatusCache ()
 updates (hierarchical) status cache (propagates status information from instances to series and from series to studies)
DVStudyCache::ItemStructgetStudyStruct (const char *studyUID=NULL, const char *seriesUID=NULL)
 returns pointer to study struct specified by given UIDs or to current study
DVSeriesCache::ItemStructgetSeriesStruct (const char *studyUID=NULL, const char *seriesUID=NULL, const char *instanceUID=NULL)
 returns pointer to series struct specified by given UIDs or to current series
DVInstanceCache::ItemStructgetInstanceStruct (const char *studyUID=NULL, const char *seriesUID=NULL, const char *instanceUID=NULL)
 returns pointer to instance struct specified by given UIDs or to current instance
int findStudyIdx (StudyDescRecord *study, const char *uid)
 returns index of specified study within study description record
int deleteImageFile (const char *filename)
 conditionally deletes given image file (only if file resides in index.dat directory)
void resetDatabaseReferenceTime ()
 resets index file modification time to reference time (yesterday)
OFCondition instanceReviewed (int pos)
 modifies the review flag for one instance in the database (see method with three UID parameters)

Private Attributes

DVPSStoredPrintpPrint
 pointer to the current print handler object
DVPresentationStatepState
 pointer to the current presentation state object
DSRDocumentpReport
 pointer to the current structured reporting object (should never be NULL)
DVSignatureHandlerpSignatureHandler
 pointer to the handler object for digital signatures
DVPresentationStatepStoredPState
 pointer to the stored presentation state object (if any)
DcmFileFormatpDicomImage
 pointer to the current DICOM image attached to the presentation state
DcmFileFormatpDicomPState
 pointer to the current DICOM dataset containing the loaded presentation state.
DicomImagepHardcopyImage
 pointer to the current hardcopy grayscale image (bitmap information only)
OFString printJobIdentifier
 a unique string generated for each instance of this class.
unsigned long printJobCounter
 a counter used for generating print job names.
OFString configPath
 string containing the path name of the config file as passed to the ctor.
OFString databaseIndexFile
 string containing the path name of the database index file after a database lock has been acquired for the first time
unsigned long referenceTime
 initialized with construction time of the interface object minus one day.
DiDisplayFunctiondisplayFunction [DVPSD_max]
 list of display function object
DcmQueryRetrieveIndexDatabaseHandlepHandle
 handle to access database/index file
OFBool lockingMode
 locking mode (OFFalse => shared, OFTrue => exclusive)
DVStudyCache idxCache
 hierarchical cache structure to optimize index file access
IdxRecord idxRec
 record structure of index items (last read entry)
int idxRecPos
 position of last read index record (for optimization purposes)
OFBool imageInDatabase
 OFTrue if current image is already stored in database, OFFalse otherwise.
unsigned long minimumPrintBitmapWidth
 minimum width of print bitmap (used for implicit scaling)
unsigned long minimumPrintBitmapHeight
 minimum height of print bitmap (used for implicit scaling)
unsigned long maximumPrintBitmapWidth
 maximum width of print bitmap (used for implicit scaling)
unsigned long maximumPrintBitmapHeight
 maximum height of print bitmap (used for implicit scaling)
unsigned long maximumPrintPreviewWidth
 maximum width of print preview bitmap
unsigned long maximumPrintPreviewHeight
 maximum height of print preview bitmap
unsigned long maximumPreviewImageWidth
 maximum width of (optional) preview image
unsigned long maximumPreviewImageHeight
 maximum height of (optional) preview image
OFString currentPrinter
 target ID of current printer, empty if no printer exists in config file
OFString displayCurrentLUTID
 config file identifier of LUT currently selected as Display Presentation LUT
OFString printCurrentLUTID
 config file identifier of LUT currently selected as Print Presentation LUT
OFString printerMediumType
 printer medium type identifier, may be empty.
OFString printerFilmDestination
 printer film destination identifier, may be empty.
OFString printerFilmSessionLabel
 printer film session label, may be empty.
unsigned long printerNumberOfCopies
 printer number of copies
OFString printerPriority
 printer print priority, may be empty.
OFString printerOwnerID
 printer film session owner ID, may be empty.
OFBool activateAnnotation
 true if annotation should be created when spooling print job
OFBool prependDateTime
 true if date and time should be prepended to annotation text
OFBool prependPrinterName
 true if printer name should be prepended to annotation text
OFBool prependLighting
 true if reflected ambient light and illumination should be prepended to annotation text
OFString annotationText
 annotation text (if any)

Detailed Description

Interface class for the Softcopy Presentation State viewer.

This class manages the database facilities, allows to start and stop network transactions and gives access to images and presentation states.

Definition at line 56 of file dviface.h.


Constructor & Destructor Documentation

DVInterface::DVInterface ( const char *  config_file = NULL,
OFBool  useLog = OFFalse 
)

constructor.

Parameters:
config_file filename (path) of the config file to be used by the interface object. The caller should make sure that the config file really exists because the constructor cannot return an error status. If a non-existing filename (or NULL) is passed, an empty configuration file is assumed.
useLog (optional) flag specifying whether a general log file should be used (config entry GENERAL).


Member Function Documentation

OFCondition DVInterface::loadImage ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID,
OFBool  changeStatus = OFFalse 
)

loads an image which is contained in the database and creates a default presentation state for the image.

This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID study instance UID of the image
seriesUID series instance UID of the image
instanceUID SOP instance UID of the image
changeStatus if true the image file is marked 'reviewed' (not new)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadImage ( const char *  filename  ) 

loads an image (which need not be contained in the database) and creates a default presentation state for the image.

This method does not acquire a database lock.

Parameters:
filename path and filename of the image to be loaded
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadReferencedImage ( size_t  idx,
OFBool  changeStatus = OFFalse 
)

loads an image which referenced by the current presentation state and needs to be contained in the database.

This method acquires a database lock which must be explicitly freed by the user.

Parameters:
idx index of the image to be loaded (< getNumberOfImageReferences())
changeStatus if true the image file is marked 'reviewed' (not new)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadPState ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID,
OFBool  changeStatus = OFFalse 
)

loads a presentation state which is contained in the database.

The first image referenced in presentation state is also looked up in the database, loaded, and attached to the presentation state. This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID study instance UID of the presentation state
seriesUID series instance UID of the presentation state
instanceUID SOP instance UID of the presentation state
changeStatus if true the pstate and (first) image file is marked 'reviewed' (not new)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadPState ( const char *  pstName,
const char *  imgName = NULL 
)

loads a presentation state and an image (which need not be contained in the database) and attaches the image to the presentation state (if specified, otherwise the current image will be used).

This method does not acquire a database lock.

Parameters:
pstName path and filename of the presentation state to be loaded
imgName path and filename of the image to be loaded
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadStructuredReport ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID,
OFBool  changeStatus = OFFalse 
)

loads a structured report which is contained in the database.

This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID study instance UID of the structured report
seriesUID series instance UID of the structured report
instanceUID SOP instance UID of the structured report
changeStatus if true the structured report file is marked 'reviewed' (not new)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadStructuredReport ( const char *  filename  ) 

loads a structured report (which need not be contained in the database).

This method does not acquire a database lock.

Parameters:
filename path and filename of the structured report to be loaded
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadSRTemplate ( const char *  reportID  ) 

loads a structured reporting "template".

This "template" is just a DICOM Structured Reporting file which resides in a special sub-folder and is referenced by the configuration file. This meachanism should facilitate the creation of new reports since one does not have to start with a completely empty report. Please note that the current structured report is replaced by the specified "template". New study/series/instance UIDs are generated automatically for the new report. This method does not acquire a database lock.

Parameters:
reportID report identifier, as returned by getReportID().
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::savePState ( OFBool  replaceSOPInstanceUID  ) 

saves the current presentation state in the same directory in which the database index file resides.

The filename is generated automatically. A new SOP Instance UID is assigned whenever a presentation state is saved. After successfully storing the presentation state, the database index is updated to include the new object. This method releases under any circumstances the database lock if it exists.

Parameters:
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.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::savePState ( const char *  filename,
OFBool  replaceSOPInstanceUID,
OFBool  explicitVR = OFTrue 
)

saves the current presentation state in a file with the given path and filename.

A new SOP Instance UID is assigned whenever a presentation state is saved. This method does not acquire a database lock and does not register the saved presentation state in the database.

Parameters:
filename path and filename under which the presentation state is to be saved
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.
explicitVR selects the transfer syntax to be written. True (the default) selects Explicit VR Little Endian, False selects Implicit VR Little Endian.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveCurrentImage ( const char *  filename,
OFBool  explicitVR = OFTrue 
)

saves the DICOM image that is currently attached to the presentation state in a file with the given path and filename.

This method does not acquire a database lock and does not register the saved presentation state in the database.

Parameters:
filename path and filename under which the image is to be saved
explicitVR selects the transfer syntax to be written. True (the default) selects Explicit VR Little Endian, False selects Implicit VR Little Endian.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveStructuredReport (  ) 

saves the current structured report in the same directory in which the database index file resides.

The filename is generated automatically. A new SOP Instance UID is not assigned automatically unless the method getStructuredReport().createRevisedVersion() is called (see documentation in file dcmsr/dsrdoc.h). This is not required for the first version of a document (i.e. directly after program start or calling the method getStructuredReport().createNewDocument()). After successfully storing the structured report, the database index is updated to include the new object. This method releases under any circumstances the database lock if it exists.

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveStructuredReport ( const char *  filename,
OFBool  explicitVR = OFTrue 
)

saves the current structured report in a file with the given path and filename.

A new SOP Instance UID is not assigned automatically unless the method getStructuredReport().createRevisedVersion() is called (see documentation in file dcmsr/dsrdoc.h). This is not required for the first version of a document (i.e. directly after program start or calling the method getStructuredReport().createNewDocument()). This method does not acquire a database lock and does not register the saved structured report in the database.

Parameters:
filename path and filename under which the structured report is to be saved
explicitVR selects the transfer syntax to be written. True (the default) selects Explicit VR Little Endian, False selects Implicit VR Little Endian.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::addImageReferenceToPState ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

adds an image which is contained in the database to the list of referenced images of the current presentation state.

This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID study instance UID of the image
seriesUID series instance UID of the image
instanceUID SOP instance UID of the image
Returns:
EC_Normal upon success, an error code otherwise.

size_t DVInterface::getNumberOfImageReferences (  ) 

gets the number of image references contained in the current presentation state.

Returns:
number of image references, 0 if an error occurred.

DVPresentationState& DVInterface::getCurrentPState (  )  [inline]

returns a reference to the current presentation state.

This reference will become invalid when the DVInterface object is deleted, a different image or presentation state is loaded (using loadPState or loadImage) or when resetPresentationState() is called.

Returns:
reference to the current presentation state

Definition at line 247 of file dviface.h.

References pState.

DSRDocument& DVInterface::getCurrentReport (  )  [inline]

returns a reference to the current structured report.

This reference will become invalid when the DVInterface object is deleted or a different structured report is loaded (using loadStructuredReport).

Returns:
reference to the current structured report

Definition at line 257 of file dviface.h.

References pReport.

DVPSStoredPrint& DVInterface::getPrintHandler (  )  [inline]

returns a reference to the print handler.

This reference remains valid as long as the DVInterface object exists.

Returns:
reference to the current print handler

Definition at line 266 of file dviface.h.

References pPrint.

OFCondition DVInterface::resetPresentationState (  ) 

resets the presentation state object to the status it had immediately after the last successful operation of "loadImage" or "loadPState".

A state can also explicitly specified as such a "reset state" by using the method saveCurrentPStateForReset(). Attention: The last reference returned by getCurrentPState() becomes invalid when this method is called.

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveCurrentPStateForReset (  ) 

saves the current state of the presentation state object to be used for resetPresentationState().

This is e.g. useful after registration of additional images directly after a new images has been loaded.

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::releaseDatabase (  ) 

removes any shared or exclusive lock on the database.

This method should be called when a database transaction (i.e. reading all studies, series, instances etc.) is finished. As long as a lock exists on the database, no other application (i.e. the network receiver) can add new images to the database. This method also clears the index cache.

Returns:
EC_Normal upon success, an error code otherwise.

const char* DVInterface::getFilename ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

searches in the database for a DICOM instance with the given study, series and instance UIDs and returns its pathname if found.

If the given instance is not found in the database, NULL is returned. This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID the DICOM study instance UID
seriesUID the DICOM series instance UID
instanceUID the DICOM SOP instance UID
Returns:
filename (path) if found, NULL otherwise

Uint32 DVInterface::getNumberOfStudies (  ) 

returns the number of studies currently contained in the database.

This method acquires a database lock which must be explicitly freed by the user. The number reported (returned) by this method remains valid as long as the database lock remains active and no function modifying the database is called. Functions that modify the database are: Storing new presentation states, deleting data, modifying the 'reviewed' status flag of IODs.

Returns:
number of studies in the database.

OFCondition DVInterface::selectStudy ( Uint32  idx  ) 

selects the study with the given index in the database.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies). Implicitly the first series and first instance within this study is selected, too.

Parameters:
idx index to be selected, must be < getNumberOfStudies()
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::selectStudy ( const char *  studyUID  ) 

selects the study with the given UID in the database.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies). Implicitly the first series and first instance within this study is selected, too.

Parameters:
studyUID the DICOM study instance UID
Returns:
EC_Normal upon success, an error code otherwise.

DVIFhierarchyStatus DVInterface::getStudyStatus (  ) 

returns the review status of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user. Implicitly the first instance within this series is selected, too.

Returns:
study review status

const char* DVInterface::getStudyUID (  ) 

returns the Study Instance UID of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Study Instance UID or NULL if absent or not selected.

const char* DVInterface::getStudyDescription (  ) 

returns the Study Description of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Study Description or NULL if absent or not selected.

const char* DVInterface::getStudyDate (  ) 

returns the Study Date of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Study Date or NULL if absent or not selected.

const char* DVInterface::getStudyTime (  ) 

returns the Study Time of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Study Time or NULL if absent or not selected.

const char* DVInterface::getReferringPhysiciansName (  ) 

returns the Referring Physicians Name of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Referring Physicians Name or NULL if absent or not selected.

const char* DVInterface::getAccessionNumber (  ) 

returns the Accession Number of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Accession Number or NULL if absent or not selected.

const char* DVInterface::getNameOfPhysiciansReadingStudy (  ) 

returns the Name Of Physicians Reading Study of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Name Of Physicians Reading Study or NULL if absent or not selected.

const char* DVInterface::getPatientName (  ) 

returns the Patient Name of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Patient Name or NULL if absent or not selected.

const char* DVInterface::getPatientID (  ) 

returns the Patient ID of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Patient ID or NULL if absent or not selected.

const char* DVInterface::getPatientBirthDate (  ) 

returns the Patient Birth Date of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Patient Birth Date or NULL if absent or not selected.

const char* DVInterface::getPatientSex (  ) 

returns the Patient Sex of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Patient Sex or NULL if absent or not selected.

const char* DVInterface::getPatientBirthTime (  ) 

returns the Patient Birth Time of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Patient Birth Time or NULL if absent or not selected.

const char* DVInterface::getOtherPatientNames (  ) 

returns the Other Patient Names of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Other Patient Names or NULL if absent or not selected.

const char* DVInterface::getOtherPatientID (  ) 

returns the Other Patient ID of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Other Patient ID or NULL if absent or not selected.

const char* DVInterface::getEthnicGroup (  ) 

returns the Patient Ethnic Group of the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). Note: Since the database uses the Study Root model, patient data appears on the study level. This method acquires a database lock which must be explicitly freed by the user.

Returns:
Patient Ethnic Group or NULL if absent or not selected.

Uint32 DVInterface::getNumberOfSeries (  ) 

returns the number of series within the currently selected study.

May be called only if a valid study selection exists - see selectStudy(). This method acquires a database lock which must be explicitly freed by the user. See the comments for getNumberOfStudies() about the validity period of the returned number.

Returns:
number of series in the current study.

OFCondition DVInterface::selectSeries ( Uint32  idx  ) 

selects the series with the given index within the currently selected study.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies).

Parameters:
idx index to be selected, must be < getNumberOfSeries()
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::selectSeries ( const char *  seriesUID  ) 

selects the series with the given UID within the currently selected study.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies).

Parameters:
seriesUID series instance UID of the image
Returns:
EC_Normal upon success, an error code otherwise.

const char* DVInterface::getSeriesUID (  ) 

returns the Series Instance UID of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Instance UID or NULL if absent or not selected.

DVIFhierarchyStatus DVInterface::getSeriesStatus (  ) 

returns the review status of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
series review status

DVPSInstanceType DVInterface::getSeriesType (  ) 

returns the type of all instances within the currently selected series.

DICOM series always contain a single modality only, if not the modality of the first examined instance (which is no image) is used (e.g. PresentationState). May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
instance type

DVPSInstanceType DVInterface::getInstanceType (  ) 

returns the type of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
instance type

const char* DVInterface::getSeriesNumber (  ) 

returns the Series Number of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Number or NULL if absent or not selected.

const char* DVInterface::getSeriesDate (  ) 

returns the Series Date of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Date or NULL if absent or not selected.

const char* DVInterface::getSeriesTime (  ) 

returns the Series Time of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Time or NULL if absent or not selected.

const char* DVInterface::getSeriesDescription (  ) 

returns the Series Description of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Description or NULL if absent or not selected.

const char* DVInterface::getSeriesPerformingPhysiciansName (  ) 

returns the Series Performing Physicians Name of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Performing Physicians Name or NULL if absent or not selected.

const char* DVInterface::getSeriesProtocolName (  ) 

returns the Series Protocol Name of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Protocol Name or NULL if absent or not selected.

const char* DVInterface::getSeriesOperatorsName (  ) 

returns the Series Operators Name of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Series Operators Name or NULL if absent or not selected.

const char* DVInterface::getModality (  ) 

returns the Modality of the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Modality or NULL if absent or not selected.

Uint32 DVInterface::getNumberOfInstances (  ) 

returns the number of instances (IODs) within the currently selected series.

May be called only if a valid series selection exists - see selectSeries(). This method acquires a database lock which must be explicitly freed by the user. See the comments for getNumberOfStudies() about the validity period of the returned number.

Returns:
number of instances in the current series.

OFCondition DVInterface::selectInstance ( Uint32  idx  ) 

selects the instance with the given index within the currently selected series.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies).

Parameters:
idx index to be selected, must be < getNumberOfInstances()
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::selectInstance ( const char *  instanceUID  ) 

selects the instance with the given UID within the currently selected series.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies).

Parameters:
instanceUID SOP instance UID of the instance
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::selectInstance ( const char *  instanceUID,
const char *  sopClassUID 
)

selects the instance with the given UID and SOP class over all studies and series.

Please note that in worst case all studies, series and instances are examined. This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies).

Parameters:
instanceUID SOP instance UID of the instance
sopClassUID SOP class UID of the instance (might be NULL to be not compared)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::selectInstance ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

selects the instance with the given UIDs.

This method acquires a database lock which must be explicitly freed by the user. The selection remains valid until the database lock is removed or the database is modified (see comments for getNumberOfStudies).

Parameters:
studyUID study instance UID of the instance
seriesUID series instance UID of the instance
instanceUID SOP instance UID of the instance
Returns:
EC_Normal upon success, an error code otherwise.

const char* DVInterface::getSOPClassUID (  ) 

returns the SOP class UID of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
SOP Instance UID or NULL if absent or not selected.

const char* DVInterface::getInstanceUID (  ) 

returns the SOP Instance UID of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
SOP Instance UID or NULL if absent or not selected.

const char* DVInterface::getImageNumber (  ) 

returns the Image Number of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Image Number or NULL if absent or not selected.

const char* DVInterface::getFilename (  ) 

returns the Filename of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Filename or NULL if absent or not selected.

DVIFhierarchyStatus DVInterface::getInstanceStatus (  ) 

returns the review status of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
instance review status

const char* DVInterface::getInstanceDescription (  ) 

returns the escription of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Instance Description or NULL if absent or not selected.

const char* DVInterface::getPresentationLabel (  ) 

returns the Presentation Label of the currently selected instance.

May be called only if a valid instance selection exists - see selectInstance(). This method acquires a database lock which must be explicitly freed by the user.

Returns:
Presentation Label or NULL if absent or not selected.

OFCondition DVInterface::instanceReviewed ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

modifies the review flag for one instance in the database, which is set to 'reviewed' state (DVIF_objectIsNotNew).

The status of the corresponding series and study is updated automatically. This method acquires a database lock which must be explicitly freed by the user. The database is modified - any study, series or instance selection and the number of studies, series and instances reported will become invalid since other processes may modify the database before the exclusive lock is granted to this method.

Parameters:
studyUID study instance UID of the reviewed instance
seriesUID series instance UID of the reviewed instance
instanceUID SOP instance UID of the reviewed instance
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::deleteInstance ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

deletes the given instance from the database.

If the corresponding DICOM file resides in the same directory as the index file, it is also removed. This method acquires a database lock which must be explicitly freed by the user. The database is modified - any study, series or instance selection and the number of studies, series and instances reported will become invalid since other processes may modify the database before the exclusive lock is granted to this method.

Parameters:
studyUID study instance UID of the instance to be deleted
seriesUID series instance UID of the instance to be deleted
instanceUID SOP instance UID of the instance to be deleted
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::deleteSeries ( const char *  studyUID,
const char *  seriesUID 
)

deletes the given series from the database.

Any of the corresponding DICOM files residing in the same directory as the index file are also removed. This method acquires a database lock which must be explicitly freed by the user. The database is modified - any study, series or instance selection and the number of studies, series and instances reported will become invalid since other processes may modify the database before the exclusive lock is granted to this method.

Parameters:
studyUID study instance UID of the series to be deleted
seriesUID series instance UID of the series to be deleted
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::deleteStudy ( const char *  studyUID  ) 

deletes the given study from the database.

Any of the corresponding DICOM files residing in the same directory as the index file are also removed. This method acquires a database lock which must be explicitly freed by the user. The database is modified - any study, series or instance selection and the number of studies, series and instances reported will become invalid since other processes may modify the database before the exclusive lock is granted to this method.

Parameters:
studyUID study instance UID of the study to be deleted
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::startReceiver (  ) 

starts the network receiver processes (Storage Service Class SCPs).

The receiver processes will wait for incoming DICOM associations, receive images and presentation states. Data will be stored in file and registered in the database index file. Attention: Successful return of this method is no guarantee that the network receiver has successfully started, because certain errors (i.e. incorrect settings in the config file) will only be noted in the network receiver process when running. On Unix platform, successful return of this method means that the fork() used to start the receiver was successful. On Win32 platforms, it means that the CreateProcess() call was successful.

Returns:
EC_Normal if the receiver processes could be started, an error code otherwise.

OFCondition DVInterface::terminateReceiver (  ) 

terminates the network receiver process (Storage Service Class SCP).

This method attempts to terminate the network receiver process by requesting a DICOM association with it and delivering a special "shutdown" command. If for some reason the network receiver cannot be found (i.e. because it has terminated abnormally), a TCP/IP timeout (several seconds) may occur before this method returns.

Returns:
EC_Normal if the receiver process could be terminated, an error code otherwise.

OFCondition DVInterface::startQueryRetrieveServer (  ) 

starts the query/retrieve server process (Query/Retrieve Service Class SCP).

The query/retrieve process will wait for incoming DICOM associations, serve queries and send the requested instances to the specified destination. Data will be taken from the same local database used to store received instances and created presentation states, stored print objects and hardcopy grayscale images. The configuration file which is required for the query/retrieve process will be created automatically from the 'global' configuration file each time this method is called, unless this automatical creation is disabled (entry: [QUERYRETIUEVE] AutoCreateConfigFile = false). Attention: Successful return of this method is no guarantee that the query/retrieve server has successfully started, because certain errors (i.e. incorrect settings in the config file) will only be noted in the query/retrieve process when running. On Unix platform, successful return of this method means that the fork() used to start the receiver was successful. On Win32 platforms, it means that the CreateProcess() call was successful.

Returns:
EC_Normal if the query/retrieve process could be started, an error code otherwise.

OFCondition DVInterface::terminateQueryRetrieveServer (  ) 

terminates the query/retrieve server process (Query/Retrieve Service Class SCP).

This method attempts to terminate the query/retrieve process by requesting a DICOM association with it and delivering a special "shutdown" command. If for some reason the query/retrieve server cannot be found (i.e. because it has terminated abnormally), a TCP/IP timeout (several seconds) may occur before this method returns.

Returns:
EC_Normal if the query/retrieve process could be terminated, an error code otherwise.

OFBool DVInterface::newInstancesReceived (  ) 

tests whether the database has been modified in any way since the last call to this method.

Any write access to the database (adding, deleting, changing) is reported. This method works by modifying and checking the "modification date/time" of the database index file. This method is not affected by database locks and can be called at any time. Always returns OFTrue for the first call after construction of the interface. Also returns OFTrue if something goes wrong (i.e. if the method cannot make sure that nothing has changed).

Returns:
OFTrue if the database has been modified since the last call to this method.

OFCondition DVInterface::sendStudy ( const char *  targetID,
const char *  studyUID 
) [inline]

sends a complete study over network to a different DICOM peer.

A separate application or process is launched to handle the send operation. This call returns when the send operation has successfully been launched. No information about the status or success of the transfer itself is being made available.

Parameters:
targetID symbolic identifier of the send target, must be one of the strings returned by getTargetID().
studyUID Study Instance UID of the study to be sent. Must be a study contained in the database.
Returns:
EC_Normal when the send process has successfully been launched, an error condition otherwise.

Definition at line 807 of file dviface.h.

References sendIOD().

OFCondition DVInterface::sendSeries ( const char *  targetID,
const char *  studyUID,
const char *  seriesUID 
) [inline]

sends a complete series over network to a different DICOM peer.

A separate application or process is launched to handle the send operation. This call returns when the send operation has successfully been launched. No information about the status or success of the transfer itself is being made available.

Parameters:
targetID symbolic identifier of the send target, must be one of the strings returned by getTargetID().
studyUID Study Instance UID of the series to be sent. Must be a series contained in the database.
seriesUID Series Instance UID of the series to be sent. Must be a series contained in the database.
Returns:
EC_Normal when the send process has successfully been launched, an error condition otherwise.

Definition at line 826 of file dviface.h.

References sendIOD().

OFCondition DVInterface::sendIOD ( const char *  targetID,
const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

sends a single instance (image or presentation state) over network to a different DICOM peer.

A separate application or process is launched to handle the send operation. This call returns when the send operation has successfully been launched. No information about the status or success of the transfer itself is being made available.

Parameters:
targetID symbolic identifier of the send target, must be one of the strings returned by getTargetID().
studyUID Study Instance UID of the IOD to be sent. Must be an IOD contained in the database.
seriesUID Series Instance UID of the IOD to be sent. Must be an IOD contained in the database.
instanceUID SOP Instance UID of the IOD to be sent. Must be an IOD contained in the database.
Returns:
EC_Normal when the send process has successfully been launched, an error condition otherwise.

Referenced by sendSeries(), and sendStudy().

OFCondition DVInterface::dumpIOD ( const char *  filename  ) 

creates a dump of the contents of a DICOM file and displays it on-screen.

A separate application or process is launched to handle the dump and display. This call returns when the dump operation has successfully been launched. No information about the status or success of the process itself is being made available. This method does not acquire a database lock.

Parameters:
filename path of file to be displayed.
Returns:
EC_Normal when the process has successfully been launched, an error condition otherwise.

OFCondition DVInterface::dumpIOD ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

creates a dump of the contents of a DICOM file and displays it on-screen.

A separate application or process is launched to handle the dump and display. This call returns when the dump operation has successfully been launched. No information about the status or success of the process itself is being made available. This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID Study Instance UID of the IOD to be dumped. Must be an IOD contained in the database.
seriesUID Series Instance UID of the IOD to be dumped. Must be an IOD contained in the database.
instanceUID SOP Instance UID of the IOD to be dumped. Must be an IOD contained in the database.
Returns:
EC_Normal when the process has successfully been launched, an error condition otherwise.

OFCondition DVInterface::checkIOD ( const char *  filename  ) 

checks the contents of a DICOM file and displays an evaluation report on the screen.

A separate application or process is launched to handle the evaluation and display. This call returns when the check operation has successfully been launched. No information about the status or success of the process itself is being made available. This method does not acquire a database lock.

Parameters:
filename path of file to be checked.
Returns:
EC_Normal when the process has successfully been launched, an error condition otherwise.

OFCondition DVInterface::checkIOD ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

checks the contents of a DICOM file and displays an evaluation report on the screen.

A separate application or process is launched to handle the evaluation and display. This call returns when the check operation has successfully been launched. No information about the status or success of the process itself is being made available. This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID Study Instance UID of the IOD to be checked. Must be an IOD contained in the database.
seriesUID Series Instance UID of the IOD to be checked. Must be an IOD contained in the database.
instanceUID SOP Instance UID of the IOD to be checked. Must be an IOD contained in the database.
Returns:
EC_Normal when the process has successfully been launched, an error condition otherwise.

OFCondition DVInterface::saveDICOMImage ( const char *  filename,
const void *  pixelData,
unsigned long  width,
unsigned long  height,
double  aspectRatio = 1.0,
OFBool  explicitVR = OFTrue,
const char *  instanceUID = NULL 
)

saves a monochrome bitmap as a DICOM Secondary Capture image.

The bitmap must use one byte per pixel, left to right, top to bottom order of the pixels. 0 is interpreted as black, 255 as white.

Parameters:
filename the file name or path under which the image is saved.
pixelData a pointer to the image data. Must contain at least width*height bytes of data.
width the width of the image, must be <= 0xFFFF
height the height of the image, must be <= 0xFFFF
aspectRatio the pixel aspect ratio as width/height. If omitted, a pixel aspect ratio of 1/1 is assumed.
explicitVR selects the transfer syntax to be written. True selects Explicit VR Little Endian, False selects Implicit VR Little Endian.
instanceUID optional parameter containing the SOP Instance UID to be written. This parameter should be omitted unless the SOP Instance UID needs to be controlled externally.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveDICOMImage ( const void *  pixelData,
unsigned long  width,
unsigned long  height,
double  aspectRatio = 1.0 
)

saves a monochrome bitmap as a DICOM Secondary Capture image in the same directory in which the database index file resides.

The filename is generated automatically. When the image is stored successfully, the database index is updated to include the new object. This method releases under any circumstances the database lock if it exists.

Parameters:
pixelData a pointer to the image data. Must contain at least width*height bytes of data.
width the width of the image, must be <= 0xFFFF
height the height of the image, must be <= 0xFFFF
aspectRatio the pixel aspect ratio as width/height. If omitted, a pixel aspect ratio of 1/1 is assumed.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveHardcopyGrayscaleImage ( const char *  filename,
const void *  pixelData,
unsigned long  width,
unsigned long  height,
double  aspectRatio = 1.0,
OFBool  explicitVR = OFTrue,
const char *  instanceUID = NULL 
)

saves a monochrome bitmap as a DICOM Hardcopy Grayscale image.

The bitmap must use 16 bits per pixel, left to right, top to bottom order of the pixels. It is assumed that only values 0..4095 are used.

Parameters:
filename the file name or path under which the image is saved.
pixelData a pointer to the image data. Must contain at least width*height*2 bytes of data.
width the width of the image, must be <= 0xFFFF
height the height of the image, must be <= 0xFFFF
aspectRatio the pixel aspect ratio as width/height. If omitted, a pixel aspect ratio of 1/1 is assumed.
explicitVR selects the transfer syntax to be written. True selects Explicit VR Little Endian, False selects Implicit VR Little Endian.
instanceUID optional parameter containing the SOP Instance UID to be written. This parameter should be omitted unless the SOP Instance UID needs to be controlled externally.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveHardcopyGrayscaleImage ( const void *  pixelData,
unsigned long  width,
unsigned long  height,
double  aspectRatio = 1.0 
)

saves a monochrome bitmap as a DICOM Hardcopy Grayscale image in the same directory in which the database index file resides.

The filename is generated automatically. When the image is stored successfully, the database index is updated to include the new object. This method releases under any circumstances the database lock if it exists.

Parameters:
pixelData a pointer to the image data. Must contain at least width*height*2 bytes of data.
width the width of the image, must be <= 0xFFFF
height the height of the image, must be <= 0xFFFF
aspectRatio the pixel aspect ratio as width/height. If omitted, a pixel aspect ratio of 1/1 is assumed.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveFileFormatToDB ( DcmFileFormat fileformat  ) 

saves a DICOM object into a file in the same directory in which the database index file resides.

The object must contain a SOP Class UID and SOP Instance UID. The filename is generated automatically. When the image is stored successfully, the database index is updated to include the new object. This method releases under any circumstances the database lock if it exists.

Parameters:
fileformat the complete DICOM file object to be written
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadStoredPrint ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID,
OFBool  changeStatus = OFFalse 
)

loads a Stored Print object which is contained in the database into memory.

Attention: The current print job (Stored Print object) will be deleted by doing this. This method acquires a database lock which must be explicitly freed by the user.

Parameters:
studyUID study instance UID of the Stored Print object
seriesUID series instance UID of the Stored Print object
instanceUID SOP instance UID of the Stored Print object
changeStatus if true the stored print object is marked 'reviewed' (not new)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::loadStoredPrint ( const char *  filename  ) 

loads a Stored Print object (which need not be contained in the database) into memory.

Attention: The current print job (Stored Print object) will be deleted by doing this. This method does not acquire a database lock.

Parameters:
filename path and filename of the Stored Print object to be loaded
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveStoredPrint ( const char *  filename,
OFBool  writeRequestedImageSize,
OFBool  explicitVR = OFTrue,
const char *  instanceUID = NULL 
)

saves the current print job as a Stored Print object.

Parameters:
filename the file name or path under which the image is saved.
writeRequestedImageSize if false, the Requested Image Size attributes are not written, e. g. because they are not supported by the target printer.
explicitVR selects the transfer syntax to be written. True selects Explicit VR Little Endian, False selects Implicit VR Little Endian.
instanceUID optional parameter containing the SOP Instance UID to be written. This parameter should be omitted unless the SOP Instance UID needs to be controlled externally.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::saveStoredPrint ( OFBool  writeRequestedImageSize  ) 

saves the current print job as a Stored Print object in the same directory in which the database index file resides.

The filename is generated automatically. When the image is stored successfully, the database index is updated to include the new object. This method releases under any circumstances the database lock if it exists.

Parameters:
writeRequestedImageSize if false, the Requested Image Size attributes are not written, e. g. because they are not supported by the target printer.
Returns:
EC_Normal upon success, an error code otherwise.

size_t DVInterface::getNumberOfPrintPreviews (  ) 

gets the number of Hardcopy Grayscaleimages currently registered by the stored print object.

Returns:
number of images.

OFCondition DVInterface::loadPrintPreview ( size_t  idx,
OFBool  printLUT = OFTrue,
OFBool  changeStatus = OFFalse 
)

loads a Hardcopy Grayscale image registered by the stored print object and creates a preview.

The preview bitmap is implicitly scaled to fit into the rectangle specified by setMaxPrintPreviewWidthHeight().

Parameters:
idx index of the image, must be < getNumberOfPrintPreviews()
printLUT OFTrue if presentation LUT should be interpreted as a print presentation LUT (default, in this case there is no implicit scaling of the input width of the LUT and, therefore, the VOI transformation - which is absent for print - is used), OFFalse otherwise (softcopy interpretation of a presentation LUT)
changeStatus if true the hardcopy grayscale image file is marked 'reviewed' (not new)
Returns:
EC_Normal if successful, an error code otherwise.

unsigned long DVInterface::getPrintPreviewSize (  ) 

gets number of bytes used for the print preview bitmap.

(depends on width, height and depth)

Returns:
number of bytes used for the preview bitmap

void DVInterface::setMaxPrintPreviewWidthHeight ( unsigned long  width,
unsigned long  height 
)

sets the maximum print preview bitmap width and height.

Larger images are scaled down (according to the pixel aspect ratio) to fit into the specified rectangle. Attention: If the values differ from the the previous ones the currently loaded hardcopy grayscale image (preview) is automatically detroyed and has to be re-loaded.

Parameters:
width maximum width of preview bitmap (in pixels)
height maximum height of preview bitmap (in pixels)

OFCondition DVInterface::getPrintPreviewWidthHeight ( unsigned long &  width,
unsigned long &  height 
)

gets width and height of print preview bitmap.

The return values depend on the current maximum preview bitmap width/height values!

Parameters:
width upon success, the bitmap width (in pixels) is returned in this parameter
height upon success, the bitmap height (in pixels) is returned in this parameter
Returns:
EC_Normal upon success, an error code otherwise

OFCondition DVInterface::getPrintPreviewBitmap ( void *  bitmap,
unsigned long  size 
)

writes the bitmap data of the print preview image into the given buffer.

The storage area must be allocated and deleted from the calling method.

Parameters:
bitmap pointer to storage area where the pixel data is copied to (array of 8 bit values)
size specifies size of the storage area in bytes
Returns:
EC_Normal upon success, an error code otherwise

OFCondition DVInterface::disablePState (  ) 

stores the current presentation state in a temporary place and creates a new presentation state that corresponds with an image displayed "without" presentation state.

If called twice, an error code is returned.

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::enablePState (  ) 

restores the stored presentation state (see disablePresentationState) and deletes the temporary presentation state.

If no stored presentation state exists, returns an error.

Returns:
EC_Normal upon success, an error code otherwise.

Uint32 DVInterface::getNumberOfPStates (  ) 

returns number of presentation states referencing the currently selected image.

If no instance is currently selected or the selected instance is a presentation state, returns an error.

Returns:
number of presentation states, 0 if none available or an error occurred

OFCondition DVInterface::selectPState ( Uint32  idx,
OFBool  changeStatus = OFFalse 
)

selects and loads specified presentation state referencing the currently selected image.

Parameters:
idx index to be selected, must be < getNumberOfPStates()
changeStatus if true the presentation state is marked 'reviewed' (not new)
Returns:
EC_Normal upon success, an error code otherwise.

const char* DVInterface::getPStateDescription ( Uint32  idx  ) 

returns description of specified presentation state referencing the currently selected image.

Parameters:
idx index to be selected, must be < getNumberOfPStates()
Returns:
presentation state description or NULL idx is invalid

const char* DVInterface::getPStateLabel ( Uint32  idx  ) 

returns label of specified presentation state referencing the currently selected image.

Parameters:
idx index to be selected, must be < getNumberOfPStates()
Returns:
presentation state label or NULL idx is invalid

OFBool DVInterface::isDisplayTransformPossible ( DVPSDisplayTransform  transform = DVPSD_GSDF  ) 

checks whether display correction is possible (in principle), i.e.

a valid monitor characteristics description exists and current system is a low-cost system (without built-in calibration).

Parameters:
transform display transform to be checked (default: GSDF)
Returns:
OFTrue if display transform is possible, OFFalse otherwise

OFCondition DVInterface::setAmbientLightValue ( double  value  ) 

sets ambient light value for the display transformation.

Parameters:
value ambient light value to be set
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::getAmbientLightValue ( double &  value  ) 

returns ambient light value for the display transformation.

Parameters:
value returned ambient light value
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::setCurrentPrinter ( const char *  targetID  ) 

selects the current printer.

Also adjusts the destination AE title and the printer name attribute within the Stored Print object.

Parameters:
targetID one of the printer target IDs returned by getTargetID().
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getCurrentPrinter (  ) 

gets the current printer's target ID.

Returns:
printer target ID, can be NULL if no printer is defined in the configuration file.

OFCondition DVInterface::setPrinterMediumType ( const char *  value  ) 

sets the (optional) print medium type.

Parameters:
value new attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getPrinterMediumType (  ) 

gets the (optional) print medium type.

Returns:
medium type, may be NULL.

OFCondition DVInterface::setPrinterFilmDestination ( const char *  value  ) 

sets the (optional) printer film destination.

Parameters:
value new attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getPrinterFilmDestination (  ) 

gets the (optional) printer film destination.

Returns:
printer film destination, may be NULL or empty string.

OFCondition DVInterface::setPrinterFilmSessionLabel ( const char *  value  ) 

sets the (optional) printer film session label.

Parameters:
value new attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getPrinterFilmSessionLabel (  ) 

gets the (optional) printer film session label.

Returns:
printer film session label, may be NULL or empty string.

OFCondition DVInterface::setPrinterPriority ( const char *  value  ) 

sets the (optional) print priority.

Parameters:
value new attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getPrinterPriority (  ) 

gets the (optional) print priority.

Returns:
print priority, may be NULL or empty string.

OFCondition DVInterface::setPrinterOwnerID ( const char *  value  ) 

sets the (optional) print session owner ID.

Parameters:
value new attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getPrinterOwnerID (  ) 

gets the (optional) print session owner ID.

Returns:
print session owner ID, may be NULL or empty string.

OFCondition DVInterface::setPrinterNumberOfCopies ( unsigned long  value  ) 

sets the (optional) print number of copies.

Parameters:
value new attribute value, may be 0. The caller is responsible for making sure that the value is valid for the selected printer.
Returns:
EC_Normal if successful, an error code otherwise.

unsigned long DVInterface::getPrinterNumberOfCopies (  ) 

gets the (optional) print number of copies.

Returns:
print number of copies, 0 if absent.

void DVInterface::clearFilmSessionSettings (  ) 

resets the settings for basic film session (everything that is not managed by the Stored Print object) to initial state.

Affects medium type, film destination, film session label, priority, owner ID, and number of copies.

OFCondition DVInterface::selectDisplayPresentationLUT ( const char *  lutID  ) 

sets the LUT with the given identifier in the Presentation State as current Presentation LUT.

Parameters:
lutID LUT identifier, as returned by getLUTID().
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getDisplayPresentationLUTID (  ) 

if the Presentation State contains an active Presentation LUT that was set with selectDisplayPresentationLUT(), return the corresponding LUT identifier.

Returns:
lutID if found, NULL or empty string otherwise.

OFCondition DVInterface::selectPrintPresentationLUT ( const char *  lutID  ) 

sets the LUT with the given identifier in the Stored Print object as current Presentation LUT.

This LUT overrides the settings made for the separate image boxes, it can be deactivated using the method DVPSStoredPrint::setDefaultPresentationLUT().

Parameters:
lutID LUT identifier, as returned by getLUTID().
Returns:
EC_Normal if successful, an error code otherwise.

const char* DVInterface::getPrintPresentationLUTID (  ) 

if the Stored Print object contains an active Presentation LUT that was set with selectPrintPresentationLUT(), return the corresponding LUT identifier.

Returns:
lutID if found, NULL or empty string otherwise.

OFCondition DVInterface::spoolPrintJob ( OFBool  deletePrintedImages = OFTrue  ) 

start spooling of print job with current settings.

Parameters:
deletePrintedImages if true, delete printed images from queue.
Returns:
EC_Normal if successful, an error code otherwise.

OFCondition DVInterface::startPrintSpooler (  ) 

starts the print spooler process.

The print spooler will wait for print jobs created with spoolPrintJob() and communicate them to the printer using the DICOM Print Management Service Class. Attention: Successful return of this method is no guarantee that the spooler has successfully started, because certain errors (i.e. incorrect settings in the config file) will only be noted in the spooler process when running. On Unix platform, successful return of this method means that the fork() used to start the spooler was successful. On Win32 platforms, it means that the CreateProcess() call was successful.

Returns:
EC_Normal if the spooler process could be started, an error code otherwise.

OFCondition DVInterface::terminatePrintSpooler (  ) 

terminates the print spooler process.

This method creates a "dummy" print job that request the print spooler to shutdown as soon as all other pending print jobs are finished.

Returns:
EC_Normal if the spooler process dummy print job could be written, an error code otherwise.

OFCondition DVInterface::startPrintServer (  ) 

starts the print server process (Basic Grayscale Print Management SCP).

The print server process will wait for incoming DICOM associations, handle the DICOM print protcol, store data in file and register stored print and grayscale image objects in the database index file. Attention: Successful return of this method is no guarantee that the print server has successfully started, because certain errors (i.e. incorrect settings in the config file) will only be noted in the print server process when running. On Unix platform, successful return of this method means that the fork() used to start the server was successful. On Win32 platforms, it means that the CreateProcess() call was successful.

Returns:
EC_Normal if the server process could be started, an error code otherwise.

OFCondition DVInterface::terminatePrintServer (  ) 

terminates the print server process (Basic Grayscale Print Management SCP).

This method attempts to terminate the print server process by requesting a DICOM association with it and delivering a special "shutdown" command. If for some reason the print server cannot be found (i.e. because it has terminated abnormally), a TCP/IP timeout (several seconds) may occur before this method returns.

Returns:
EC_Normal if the server process could be terminated, an error code otherwise.

OFCondition DVInterface::addToPrintHardcopyFromDB ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

adds an existing DICOM image (should be Hardcopy Grayscale) that is already present in the image database to the current print image queue without rendering it again.

The "requested image size" option is not used - the bitmap is treated as if the presentation mode was "SCALE TO FIT".

Parameters:
studyUID study instance UID of the image, as reported by getStudyUID()
seriesUID series instance UID of the image, as reported by getSeriesUID()
instanceUID SOP instance UID of the image, as reported by getInstanceUID()
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::spoolStoredPrintFromDB ( const char *  studyUID,
const char *  seriesUID,
const char *  instanceUID 
)

requests the spooler process to print an old print job that is stored in the database as a "stored print" object.

The Stored Print that is printed does not contain all parameters of a print job. The following parameters are taken from the current settings in this object: Target printer, medium type, illumination and reflected ambient light.

Parameters:
studyUID study instance UID of the Stored Print, as reported by getStudyUID()
seriesUID series instance UID of the Stored Print, as reported by getSeriesUID()
instanceUID SOP instance UID of the Stored Print, as reported by getInstanceUID()
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::printSCUcreateBasicFilmSession ( DVPSPrintMessageHandler printHandler,
OFBool  plutInSession 
)

Initiates the creation of a DICOM Basic Film Session SOP Instance in the printer.

This method stores all Basic Film Session related attributes that are managed by this object in a DICOM dataset and passes the result to the embedded Stored Print object which manages the further communication.

Parameters:
printHandler print communication handler, association must be open.
plutInSession true if printer expects referenced presentation LUT sequence, illumination and reflected ambient light in basic film session, false if it expects them in basic film box.
Returns:
EC_Normal upon success, an error code otherwise.

OFBool DVInterface::isActiveAnnotation (  )  [inline]

gets the current setting of the annotation activity annotation flag.

Returns:
OFTrue if annotation is on, OFFalse otherwise.

Definition at line 1398 of file dviface.h.

References activateAnnotation.

OFBool DVInterface::getPrependDateTime (  )  [inline]

gets the current setting of the Prepend Date/Time annotation flag.

Returns:
OFTrue if Prepend Date/Time is on, OFFalse otherwise.

Definition at line 1403 of file dviface.h.

References prependDateTime.

OFBool DVInterface::getPrependPrinterName (  )  [inline]

gets the current setting of the Prepend Printer Name annotation flag.

Returns:
OFTrue if Prepend Printer Name is on, OFFalse otherwise.

Definition at line 1408 of file dviface.h.

References prependPrinterName.

OFBool DVInterface::getPrependLighting (  )  [inline]

gets the current setting of the Prepend Lighting annotation flag.

Returns:
OFTrue if Prepend Lighting is on, OFFalse otherwise.

Definition at line 1413 of file dviface.h.

References prependLighting.

const char* DVInterface::getAnnotationText (  )  [inline]

gets the current annotation text.

Returns:
annotation text, may be NULL or empty string.

Definition at line 1418 of file dviface.h.

References annotationText, and OFString::c_str().

void DVInterface::setActiveAnnotation ( OFBool  value  )  [inline]

switches annotation printing on/off

Parameters:
value OFTrue if annotation is switched on, OFFalse otherwise.

Definition at line 1423 of file dviface.h.

References activateAnnotation.

void DVInterface::setPrependDateTime ( OFBool  value  )  [inline]

sets the Prepend Date/Time annotation flag.

Parameters:
value OFTrue if Prepend Date/Time is switched on, OFFalse otherwise.

Definition at line 1428 of file dviface.h.

References prependDateTime.

void DVInterface::setPrependPrinterName ( OFBool  value  )  [inline]

sets the Prepend Printer Name annotation flag.

Parameters:
value OFTrue if Prepend Printer Name is switched on, OFFalse otherwise.

Definition at line 1433 of file dviface.h.

References prependPrinterName.

void DVInterface::setPrependLighting ( OFBool  value  )  [inline]

sets the Prepend Lighting annotation flag.

Parameters:
value OFTrue if Prepend Lighting is switched on, OFFalse otherwise.

Definition at line 1438 of file dviface.h.

References prependLighting.

void DVInterface::setAnnotationText ( const char *  value  ) 

sets the current annotation text.

Parameters:
value new text, may be NULL.

OFBool DVInterface::verifyUserPassword ( const char *  userID,
const char *  passwd 
)

verifies the given password for the given user ID.

This method tries to load and decrypt the private key for the given user with the given password. If this fails, the password verification fails, otherwise the password verification succeeds. This method requires that DCMTK be configured and compiled with the WITH_OPENSSL flag, otherwise always returns false.

Parameters:
userID symbolic user ID for given user, as returned by DVConfiguration::getUserID()
passwd for user as entered in some GUI control
Returns:
true if password verification succeeds, false otherwise.

OFCondition DVInterface::verifyAndSignStructuredReport ( const char *  userID,
const char *  passwd,
DVPSVerifyAndSignMode  mode 
)

verifies and digitally signs the current structured report.

If the user ID is known (i.e. specified in the configuration file) the current structured report is verified (a verifying observer is added). If the 'mode' parameter is set accordingly and the password is correct (see verifyUserPassword) the report is also digitally signed. Please note that a document can be verified/signed more than once, but only completed documents can be verified. After signing the report no modifications should be performed before the object is stored in the database or a file. Otherwise the digital signature would be corrupted. Therefore, the SOP instance UID should be generated before calling this method. To digitally sign the report it is required that DCMTK is configured and compiled with the WITH_OPENSSL flag, otherwise only verification is available (returns an error code if mode differs from DVPSY_verify).

Parameters:
userID symbolic user ID for given user, as returned by DVConfiguration::getUserID()
passwd for user as entered in some GUI control
mode flag specifying whether to verify only, verify and sign or verify and sign and finalize the document. The difference between the second and the third mode is that "finalize" always signs the entire document whereas the other mode only signs the marked items (if any, all items otherwise) and leaves out certain header attributes (e.g. the SOP instance UID and the verifying observer sequence).
Returns:
status, EC_Normal if successful, an error code otherwise.

const char* DVInterface::getCurrentSignatureValidationHTML ( DVPSObjectType  objtype  )  const

returns a string containing a complete HTML page with the signature validation results for the last object of the given type.

Never returns NULL.

Parameters:
objtype object type
Returns:
pointer to string with HTML page

const char* DVInterface::getCurrentSignatureValidationOverview (  )  const

returns a string containing a complete HTML page with the signature validation overview.

Never returns NULL.

Returns:
pointer to string with HTML page

DVPSSignatureStatus DVInterface::getCurrentSignatureStatus ( DVPSObjectType  objtype  )  const

returns the status flag for the current object of given type.

Parameters:
objtype object type
Returns:
digital signature status for object

DVPSSignatureStatus DVInterface::getCombinedImagePStateSignatureStatus (  )  const

returns the combined status flag for the current image and presentation state.

Returns:
digital signature status for image and presentation state

unsigned long DVInterface::getNumberOfCorrectSignatures ( DVPSObjectType  objtype  )  const

returns number of correct signatures for given object type.

Parameters:
objtype object type
Returns:
number of digital signatures

unsigned long DVInterface::getNumberOfUntrustworthySignatures ( DVPSObjectType  objtype  )  const

returns number of untrustworthy signatures for given object type.

Parameters:
objtype object type
Returns:
number of digital signatures

unsigned long DVInterface::getNumberOfCorruptSignatures ( DVPSObjectType  objtype  )  const

returns number of corrupt signatures for given object type.

Parameters:
objtype object type
Returns:
number of digital signatures

void DVInterface::disableImageAndPState (  ) 

disables internal settings for image and presentation state.

Called when a new SR object is loaded and the current image/presentation state are hidden consequently.

OFCondition DVInterface::exchangeImageAndPState ( DVPresentationState newState,
DcmFileFormat image,
DcmFileFormat state = NULL 
) [private]

helper function that exchanges the current presentation state and image by the pointers passed and frees the old ones.

Parameters:
newState new presentation state, must not be NULL
image image file
state presentation state if newState was not created from image.
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::lockDatabase (  )  [private]

creates a database handle if none exists yet (this method may be called multiple times without interference) and puts a shared lock on the database.

The lock will remain until explicitly released with releaseDatabase();

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::lockExclusive (  )  [private]

creates an exlusive lock on the database if none exists.

The lock will remain until explicitly released with releaseDatabase() or unlockExclusive(). This method also clears the index cache.

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::unlockExclusive (  )  [private]

removes an exlusive lock on the database if any.

Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::createPrintJobFilenames ( const char *  printer,
OFString tempname,
OFString jobname 
) [private]

creates a new pair of filenames for print job creation.

Parameters:
printer printer identifier
tempname temporary name is returned here
jobname print job name is returned here
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::createQueryRetrieveServerConfigFile ( const char *  filename  )  [private]

creates the query/retrieve server configuration file.

Parameters:
filename path to the configuration file (incl. filename)
Returns:
EC_Normal upon success, an error code otherwise.

OFCondition DVInterface::startExternalApplication ( const char *  application,
const char *  filename 
) [private]

starts an external application and passes a filename.

Parameters:
application pathname of the application to be started
filename filename to be passed as single parameter.
Returns:
EC_Normal if fork or CreateProcess succeeds, an error condition otherwise.


Member Data Documentation

DcmFileFormat* DVInterface::pDicomPState [private]

pointer to the current DICOM dataset containing the loaded presentation state.

Is NULL when the presentation state has been created "on the fly" from image.

Definition at line 1628 of file dviface.h.

OFString DVInterface::printJobIdentifier [private]

a unique string generated for each instance of this class.

Used to identify print jobs generated from this instance.

Definition at line 1637 of file dviface.h.

unsigned long DVInterface::referenceTime [private]

initialized with construction time of the interface object minus one day.

Used to check modifications of the database index file.

Definition at line 1655 of file dviface.h.

OFString DVInterface::printerMediumType [private]

printer medium type identifier, may be empty.

VR=CS, VM=1

Definition at line 1798 of file dviface.h.

OFString DVInterface::printerFilmDestination [private]

printer film destination identifier, may be empty.

VR=CS, VM=1

Definition at line 1802 of file dviface.h.

OFString DVInterface::printerFilmSessionLabel [private]

printer film session label, may be empty.

VR=LO, VM=1

Definition at line 1806 of file dviface.h.

OFString DVInterface::printerPriority [private]

printer print priority, may be empty.

VR=CS, VM=1, enumerated values: HIGH, MED, LOW

Definition at line 1815 of file dviface.h.

OFString DVInterface::printerOwnerID [private]

printer film session owner ID, may be empty.

VR=SH, VM=1

Definition at line 1819 of file dviface.h.


The documentation for this class was generated from the following file:


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1