OFFIS DCMTK  Version 3.6.0
dviface.h
1 /*
2  *
3  * Copyright (C) 1998-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmpstat
15  *
16  * Author: Marco Eichelberg, Joerg Riesmeier
17  *
18  * Purpose:
19  * classes: DVInterface
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:35 $
23  * CVS/RCS Revision: $Revision: 1.95 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DVIFACE_H
32 #define DVIFACE_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 
37 #include "dcmtk/ofstd/ofstream.h"
38 #include "dcmtk/dcmpstat/dvpscf.h" /* for class DVConfiguration */
39 #include "dcmtk/dcmpstat/dvpstat.h" /* for class DVPresentationState */
40 #include "dcmtk/dcmqrdb/dcmqridx.h" /* for struct IdxRecord */
41 #include "dcmtk/ofstd/ofstring.h" /* for class OFString */
42 #include "dcmtk/dcmpstat/dvcache.h" /* for index file caching */
43 
44 
45 class DicomImage;
46 class DiDisplayFunction;
47 class DVPSStoredPrint;
49 class DSRDocument;
50 class DVSignatureHandler;
51 
57 {
58 
59  public:
60 
70  DVInterface(const char *config_file = NULL, OFBool useLog = OFFalse);
71 
74  virtual ~DVInterface();
75 
76  /* load images, presentation states and structured reports */
77 
87  OFCondition loadImage(const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus = OFFalse);
88 
95  OFCondition loadImage(const char *filename);
96 
104  OFCondition loadReferencedImage(size_t idx, OFBool changeStatus = OFFalse);
105 
116  OFCondition loadPState(const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus = OFFalse);
117 
126  OFCondition loadPState(const char *pstName, const char *imgName = NULL);
127 
136  OFCondition loadStructuredReport(const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus = OFFalse);
137 
143  OFCondition loadStructuredReport(const char *filename);
144 
157  OFCondition loadSRTemplate(const char *reportID);
158 
171  OFCondition savePState(OFBool replaceSOPInstanceUID);
172 
186  OFCondition savePState(const char *filename, OFBool replaceSOPInstanceUID, OFBool explicitVR=OFTrue);
187 
197  OFCondition saveCurrentImage(const char *filename, OFBool explicitVR=OFTrue);
198 
211 
224  OFCondition saveStructuredReport(const char *filename, OFBool explicitVR=OFTrue);
225 
234  OFCondition addImageReferenceToPState(const char *studyUID, const char *seriesUID, const char *instanceUID);
235 
240 
248  {
249  return *pState;
250  }
251 
258  {
259  return *pReport;
260  }
261 
267  {
268  return *pPrint;
269  }
270 
279 
286 
296 
306  const char *getFilename(const char *studyUID, const char *seriesUID, const char *instanceUID);
307 
316  Uint32 getNumberOfStudies();
317 
326  OFCondition selectStudy(Uint32 idx);
327 
336  OFCondition selectStudy(const char *studyUID);
337 
344  DVIFhierarchyStatus getStudyStatus() ;
345 
351  const char *getStudyUID();
352 
358  const char *getStudyDescription();
359 
365  const char *getStudyDate();
366 
372  const char *getStudyTime();
373 
379  const char *getReferringPhysiciansName();
380 
386  const char *getAccessionNumber();
387 
393  const char *getNameOfPhysiciansReadingStudy();
394 
402  const char *getPatientName();
403 
411  const char *getPatientID();
412 
420  const char *getPatientBirthDate();
421 
429  const char *getPatientSex();
430 
438  const char *getPatientBirthTime();
439 
447  const char *getOtherPatientNames();
448 
456  const char *getOtherPatientID();
457 
465  const char *getEthnicGroup();
466 
474  Uint32 getNumberOfSeries();
475 
483  OFCondition selectSeries(Uint32 idx);
484 
492  OFCondition selectSeries(const char *seriesUID);
493 
499  const char *getSeriesUID();
500 
506  DVIFhierarchyStatus getSeriesStatus();
507 
515  DVPSInstanceType getSeriesType();
516 
522  DVPSInstanceType getInstanceType();
523 
529  const char *getSeriesNumber();
530 
536  const char *getSeriesDate();
537 
543  const char *getSeriesTime();
544 
550  const char *getSeriesDescription();
551 
557  const char *getSeriesPerformingPhysiciansName();
558 
564  const char *getSeriesProtocolName();
565 
571  const char *getSeriesOperatorsName();
572 
578  const char *getModality();
579 
587  Uint32 getNumberOfInstances();
588 
596  OFCondition selectInstance(Uint32 idx);
597 
605  OFCondition selectInstance(const char *instanceUID);
606 
616  OFCondition selectInstance(const char *instanceUID, const char *sopClassUID);
617 
627  OFCondition selectInstance(const char *studyUID, const char *seriesUID, const char *instanceUID);
628 
634  const char *getSOPClassUID();
635 
641  const char *getInstanceUID();
642 
648  const char *getImageNumber();
649 
655  const char *getFilename();
656 
662  DVIFhierarchyStatus getInstanceStatus() ;
663 
669  const char *getInstanceDescription();
670 
676  const char *getPresentationLabel();
677 
678 
679  /* methods modifying the database */
680 
693  OFCondition instanceReviewed(const char *studyUID, const char *seriesUID, const char *instanceUID);
694 
706  OFCondition deleteInstance(const char *studyUID, const char *seriesUID, const char *instanceUID);
707 
718  OFCondition deleteSeries(const char *studyUID, const char *seriesUID);
719 
729  OFCondition deleteStudy(const char *studyUID);
730 
731  /* here follow the Network interface methods */
732 
745 
754 
771 
782 
793  OFBool newInstancesReceived();
794 
807  OFCondition sendStudy(const char *targetID, const char *studyUID)
808  {
809  return sendIOD(targetID, studyUID, NULL, NULL);
810  }
811 
826  OFCondition sendSeries(const char *targetID, const char *studyUID, const char *seriesUID)
827  {
828  return sendIOD(targetID, studyUID, seriesUID, NULL);
829  }
830 
848  OFCondition sendIOD(const char *targetID, const char *studyUID, const char *seriesUID, const char *instanceUID);
849 
860  OFCondition dumpIOD(const char *filename);
861 
877  OFCondition dumpIOD(const char *studyUID, const char *seriesUID, const char *instanceUID);
878 
889  OFCondition checkIOD(const char *filename);
890 
906  OFCondition checkIOD(const char *studyUID, const char *seriesUID, const char *instanceUID);
907 
926  const char *filename,
927  const void *pixelData,
928  unsigned long width,
929  unsigned long height,
930  double aspectRatio=1.0,
931  OFBool explicitVR=OFTrue,
932  const char *instanceUID=NULL);
933 
949  const void *pixelData,
950  unsigned long width,
951  unsigned long height,
952  double aspectRatio=1.0);
953 
972  const char *filename,
973  const void *pixelData,
974  unsigned long width,
975  unsigned long height,
976  double aspectRatio=1.0,
977  OFBool explicitVR=OFTrue,
978  const char *instanceUID=NULL);
979 
995  const void *pixelData,
996  unsigned long width,
997  unsigned long height,
998  double aspectRatio=1.0);
999 
1010 
1020  OFCondition loadStoredPrint(const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus = OFFalse);
1021 
1028  OFCondition loadStoredPrint(const char *filename);
1029 
1042  const char *filename,
1043  OFBool writeRequestedImageSize,
1044  OFBool explicitVR=OFTrue,
1045  const char *instanceUID=NULL);
1046 
1057  OFCondition saveStoredPrint(OFBool writeRequestedImageSize);
1058 
1062  size_t getNumberOfPrintPreviews();
1063 
1075  OFCondition loadPrintPreview(size_t idx, OFBool printLUT = OFTrue, OFBool changeStatus = OFFalse);
1076 
1079  void unloadPrintPreview();
1080 
1085  unsigned long getPrintPreviewSize();
1086 
1095  void setMaxPrintPreviewWidthHeight(unsigned long width, unsigned long height);
1096 
1103  OFCondition getPrintPreviewWidthHeight(unsigned long &width, unsigned long &height);
1104 
1111  OFCondition getPrintPreviewBitmap(void *bitmap, unsigned long size);
1112 
1120 
1127 
1133  Uint32 getNumberOfPStates();
1134 
1141  OFCondition selectPState(Uint32 idx, OFBool changeStatus = OFFalse);
1142 
1148  const char *getPStateDescription(Uint32 idx);
1149 
1155  const char *getPStateLabel(Uint32 idx);
1156 
1164  OFBool isDisplayTransformPossible(DVPSDisplayTransform transform = DVPSD_GSDF);
1165 
1170  OFCondition setAmbientLightValue(double value);
1171 
1176  OFCondition getAmbientLightValue(double &value);
1177 
1178  /* print related methods */
1179 
1185  OFCondition setCurrentPrinter(const char *targetID);
1186 
1191  const char *getCurrentPrinter();
1192 
1199  OFCondition setPrinterMediumType(const char *value);
1200 
1204  const char *getPrinterMediumType();
1205 
1212  OFCondition setPrinterFilmDestination(const char *value);
1213 
1217  const char *getPrinterFilmDestination();
1218 
1225  OFCondition setPrinterFilmSessionLabel(const char *value);
1226 
1230  const char *getPrinterFilmSessionLabel();
1231 
1238  OFCondition setPrinterPriority(const char *value);
1239 
1243  const char *getPrinterPriority();
1244 
1251  OFCondition setPrinterOwnerID(const char *value);
1252 
1256  const char *getPrinterOwnerID();
1257 
1264  OFCondition setPrinterNumberOfCopies(unsigned long value);
1265 
1269  unsigned long getPrinterNumberOfCopies();
1270 
1276  void clearFilmSessionSettings();
1277 
1283  OFCondition selectDisplayPresentationLUT(const char *lutID);
1284 
1290  const char *getDisplayPresentationLUTID();
1291 
1299  OFCondition selectPrintPresentationLUT(const char *lutID);
1300 
1306  const char *getPrintPresentationLUTID();
1307 
1312  OFCondition spoolPrintJob(OFBool deletePrintedImages=OFTrue);
1313 
1326 
1334 
1348 
1357 
1368  OFCondition addToPrintHardcopyFromDB(const char *studyUID, const char *seriesUID, const char *instanceUID);
1369 
1380  OFCondition spoolStoredPrintFromDB(const char *studyUID, const char *seriesUID, const char *instanceUID);
1381 
1391  OFCondition printSCUcreateBasicFilmSession(DVPSPrintMessageHandler& printHandler, OFBool plutInSession);
1392 
1393  /* annotation interface */
1394 
1399 
1404 
1409 
1414 
1418  const char *getAnnotationText() { return annotationText.c_str(); }
1419 
1423  void setActiveAnnotation(OFBool value) { activateAnnotation=value; }
1424 
1428  void setPrependDateTime(OFBool value) { prependDateTime=value; }
1429 
1433  void setPrependPrinterName(OFBool value) { prependPrinterName=value; }
1434 
1438  void setPrependLighting(OFBool value) { prependLighting=value; }
1439 
1443  void setAnnotationText(const char *value);
1444 
1445  /* user management interface */
1446 
1458  OFBool verifyUserPassword(const char *userID, const char *passwd);
1459 
1483  OFCondition verifyAndSignStructuredReport(const char *userID, const char *passwd, DVPSVerifyAndSignMode mode);
1484 
1485 
1486  /* digital signatures */
1487 
1494  const char *getCurrentSignatureValidationHTML(DVPSObjectType objtype) const;
1495 
1500  const char *getCurrentSignatureValidationOverview() const;
1501 
1506  DVPSSignatureStatus getCurrentSignatureStatus(DVPSObjectType objtype) const;
1507 
1511  DVPSSignatureStatus getCombinedImagePStateSignatureStatus() const;
1512 
1517  unsigned long getNumberOfCorrectSignatures(DVPSObjectType objtype) const;
1518 
1523  unsigned long getNumberOfUntrustworthySignatures(DVPSObjectType objtype) const;
1524 
1529  unsigned long getNumberOfCorruptSignatures(DVPSObjectType objtype) const;
1530 
1535  void disableImageAndPState();
1536 
1537 private:
1538 
1541  DVInterface(const DVInterface&);
1542 
1546 
1555 
1563 
1571 
1576 
1583  OFCondition createPrintJobFilenames(const char *printer, OFString& tempname, OFString& jobname);
1584 
1589  OFCondition createQueryRetrieveServerConfigFile(const char *filename);
1590 
1597  OFCondition startExternalApplication(const char *application, const char *filename);
1598 
1599  /* member variables */
1600 
1604 
1608 
1612 
1616 
1620 
1624 
1629 
1633 
1638 
1641  unsigned long printJobCounter;
1642 
1646 
1651 
1655  unsigned long referenceTime;
1656 
1660 
1664 
1667  OFBool lockingMode;
1668 
1672 
1676 
1680 
1684 
1685  /* private methods for database */
1686 
1689  OFBool createIndexCache();
1690 
1693  OFBool createPStateCache();
1694 
1697  void clearIndexCache();
1698 
1701  void clearIndexRecord(IdxRecord &record,
1702  int &recpos);
1703 
1707  OFBool readIndexRecord(const int pos,
1708  IdxRecord &record,
1709  int *oldpos = NULL);
1710 
1714  void updateStatusCache();
1715 
1718  DVStudyCache::ItemStruct *getStudyStruct(const char *studyUID = NULL,
1719  const char *seriesUID = NULL);
1720 
1723  DVSeriesCache::ItemStruct *getSeriesStruct(const char *studyUID = NULL,
1724  const char *seriesUID = NULL,
1725  const char *instanceUID = NULL);
1726 
1729  DVInstanceCache::ItemStruct *getInstanceStruct(const char *studyUID = NULL,
1730  const char *seriesUID = NULL,
1731  const char *instanceUID = NULL);
1732 
1735  int findStudyIdx(StudyDescRecord *study,
1736  const char *uid);
1737 
1740  int deleteImageFile(const char *filename);
1741 
1745 
1746 
1750  OFCondition instanceReviewed(int pos);
1751 
1755 
1759 
1763 
1767 
1771 
1775 
1779 
1783 
1787 
1791 
1795 
1799 
1803 
1807 
1810  unsigned long printerNumberOfCopies;
1811 
1816 
1820 
1824 
1828 
1832 
1836 
1840 };
1841 
1842 
1843 #endif
1844 
1845 
1846 /*
1847  * CVS/RCS Log:
1848  * $Log: dviface.h,v $
1849  * Revision 1.95 2010-10-14 13:16:35 joergr
1850  * Updated copyright header. Added reference to COPYRIGHT file.
1851  *
1852  * Revision 1.94 2009-11-24 14:12:57 uli
1853  * Switched to logging mechanism provided by the "new" oflog module.
1854  *
1855  * Revision 1.93 2009-09-30 10:42:37 uli
1856  * Make dcmpstat's include headers self-sufficient by including all
1857  * needed headers directly and stop using dctk.h
1858  *
1859  * Revision 1.92 2009-05-28 10:55:38 joergr
1860  * Fixed various Doxygen API documentation issues.
1861  *
1862  * Revision 1.91 2005/12/08 16:03:31 meichel
1863  * Changed include path schema for all DCMTK header files
1864  *
1865  * Revision 1.90 2005/04/04 10:11:57 meichel
1866  * Module dcmpstat now uses the dcmqrdb API instead of imagectn for maintaining
1867  * the index database
1868  *
1869  * Revision 1.89 2004/02/04 15:48:23 joergr
1870  * Removed acknowledgements with e-mail addresses from CVS log.
1871  *
1872  * Revision 1.88 2003/04/29 10:13:56 meichel
1873  * Moved configuration file parser from module dcmpstat to ofstd and renamed
1874  * class to OFConfigFile. Cleaned up implementation (no more friend declarations).
1875  *
1876  * Revision 1.87 2002/04/16 14:02:02 joergr
1877  * Added configurable support for C++ ANSI standard includes (e.g. streams).
1878  *
1879  * Revision 1.86 2001/09/26 15:36:06 meichel
1880  * Adapted dcmpstat to class OFCondition
1881  *
1882  * Revision 1.85 2001/02/23 13:31:46 joergr
1883  * Changed behaviour of method verifyAndSignStructuredReport() with 'finalize'.
1884  * Now the entire document is always signed independently from the tree items
1885  * marked.
1886  *
1887  * Revision 1.84 2001/01/29 17:32:30 joergr
1888  * Added method to verify and digitally sign structured reports.
1889  *
1890  * Revision 1.83 2001/01/29 14:55:41 meichel
1891  * Added new methods for creating signatures and checking the signature
1892  * status in module dcmpstat.
1893  *
1894  * Revision 1.82 2001/01/25 15:18:04 meichel
1895  * Added initial support for verification of digital signatures
1896  * in presentation states, images and structured reports to module dcmpstat.
1897  *
1898  * Revision 1.81 2000/11/14 16:35:16 joergr
1899  * Added creation of new UIDs and setting of content date/time when starting
1900  * a new SR document from a "template".
1901  *
1902  * Revision 1.80 2000/11/13 15:50:42 meichel
1903  * Added dcmpstat support methods for creating image references
1904  * in SR documents.
1905  *
1906  * Revision 1.79 2000/11/13 11:52:40 meichel
1907  * Added support for user logins and certificates.
1908  *
1909  * Revision 1.78 2000/11/13 10:42:38 joergr
1910  * Added support for Structured Reporting "templates".
1911  *
1912  * Revision 1.77 2000/10/16 11:39:43 joergr
1913  * Added support for new structured reports.
1914  * Added method allowing to select an instance by instance UID and SOP class
1915  * UID (without series and study UID). Required for composite references in
1916  * DICOM SR.
1917  *
1918  * Revision 1.76 2000/10/10 12:23:39 meichel
1919  * Added extensions for TLS encrypted communication
1920  *
1921  * Revision 1.75 2000/07/18 16:02:35 joergr
1922  * Moved method convertODtoLum/PValue from class DVInterface to DVPSStoredPrint
1923  * and corrected implementation.
1924  *
1925  * Revision 1.74 2000/07/17 12:05:09 joergr
1926  * Added methods to select objects from the database directly.
1927  *
1928  * Revision 1.73 2000/07/14 17:09:47 joergr
1929  * Added changeStatus parameter to all methods loading instances from the
1930  * database.
1931  *
1932  * Revision 1.72 2000/07/06 09:41:00 joergr
1933  * Added flag to loadPrintPreview() method allowing to choose how to interpret
1934  * the presentation LUT (hardcopy or softcopy definition).
1935  *
1936  * Revision 1.71 2000/07/04 15:58:00 joergr
1937  * Added support for overriding the presentation LUT settings made for the
1938  * image boxes.
1939  *
1940  * Revision 1.70 2000/06/21 15:40:57 meichel
1941  * Added DICOMscope support for calling the Presentation State Checker.
1942  *
1943  * Revision 1.69 2000/06/09 10:13:54 joergr
1944  * Added method to get number of presentation states referencing an image
1945  * (specified by the three UIDs).
1946  *
1947  * Revision 1.68 2000/06/08 17:36:23 joergr
1948  * Added method convertODtoLum().
1949  *
1950  * Revision 1.67 2000/06/07 14:15:52 joergr
1951  * Added configuration file entry "LogLevel" to filter log messages.
1952  * Added flag to constructor specifying whether the general log file should be
1953  * used (default: off).
1954  *
1955  * Revision 1.66 2000/06/05 16:21:30 joergr
1956  * Implemented log message methods.
1957  * Added method allowing to specify the current presentation state to be used
1958  * for resetting the pstate.
1959  *
1960  * Revision 1.65 2000/06/02 16:00:41 meichel
1961  * Adapted all dcmpstat classes to use OFConsole for log and error output
1962  *
1963  * Revision 1.64 2000/06/02 13:53:53 joergr
1964  * Implemented start/terminatePrintServer methods.
1965  *
1966  * Revision 1.63 2000/06/02 12:41:50 joergr
1967  * Corrected wrong interface descriptions.
1968  *
1969  * Revision 1.62 2000/05/31 12:56:37 meichel
1970  * Added initial Print SCP support
1971  *
1972  * Revision 1.61 2000/05/31 07:54:23 joergr
1973  * Added support for Stored Print attributes Originator and Destination
1974  * application entity title.
1975  *
1976  * Revision 1.60 2000/05/30 13:36:45 joergr
1977  * Added new private SOP class (UID definition) to allow external shutdown
1978  * of console applications via negotiation of this special SOP class
1979  * (currently used for imagectn and dcmpsrcv).
1980  * Renamed GrayscaleHardcopy to HardcopyGrayscale (which is the correct term
1981  * according to the DICOM standard).
1982  * Added support for multi-frame images and multiple references from a single
1983  * presentation to a number of images.
1984  * Removed methods which were already marked as "retired".
1985  * Added interface methods to support the following new features:
1986  * - start/terminate query/retrieve server
1987  * - load stored print objects
1988  * - create print preview from hardcopy grayscale images
1989  * - check DICOM IODs for correctness (not yet implemented)
1990  * - set presentation LUT for film session (not yet implemented)
1991  * - start/terminate print server (not yet implemented)
1992  * - write/filter log messages (not yet implemented)
1993  *
1994  * Revision 1.59 2000/03/08 16:28:47 meichel
1995  * Updated copyright header.
1996  *
1997  * Revision 1.58 2000/03/03 14:13:54 meichel
1998  * Implemented library support for redirecting error messages into memory
1999  * instead of printing them to stdout/stderr for GUI applications.
2000  *
2001  * Revision 1.57 1999/11/03 13:05:31 meichel
2002  * Added support for transmitting annotations in the film session label.
2003  * Added support for dump tool launched from DVInterface.
2004  *
2005  * Revision 1.56 1999/10/20 10:47:13 joergr
2006  * Added support for a down-scaled preview image of the current DICOM image
2007  * (e.g. useful for online-windowing or print preview).
2008  *
2009  * Revision 1.55 1999/10/19 14:46:01 meichel
2010  * added support for the Basic Annotation Box SOP Class
2011  * as well as access methods for Max Density and Min Density.
2012  *
2013  * Revision 1.54 1999/10/07 17:21:45 meichel
2014  * Reworked management of Presentation LUTs in order to create tighter
2015  * coupling between Softcopy and Print.
2016  *
2017  * Revision 1.53 1999/09/27 10:41:52 meichel
2018  * Print interface now copies current printer name, avoids JNI problems.
2019  *
2020  * Revision 1.52 1999/09/24 15:24:28 meichel
2021  * Added support for CP 173 (Presentation LUT clarifications)
2022  *
2023  * Revision 1.51 1999/09/23 17:37:12 meichel
2024  * Added support for Basic Film Session options to dcmpstat print code.
2025  *
2026  * Revision 1.50 1999/09/17 14:33:55 meichel
2027  * Completed print spool functionality including Supplement 22 support
2028  *
2029  * Revision 1.49 1999/09/15 17:43:25 meichel
2030  * Implemented print job dispatcher code for dcmpstat, adapted dcmprtsv
2031  * and dcmpsprt applications.
2032  *
2033  * Revision 1.48 1999/09/13 15:19:08 meichel
2034  * Added implementations for a number of further print API methods.
2035  *
2036  * Revision 1.47 1999/09/10 12:46:44 meichel
2037  * Added implementations for a number of print API methods.
2038  *
2039  * Revision 1.46 1999/09/10 09:37:29 joergr
2040  * Re-added automatically removed method declarations (maybe a problem with
2041  * CVS's merge algorithm).
2042  *
2043  * Revision 1.43 1999/09/08 17:03:01 joergr
2044  * Added support for new instance types in database (grayscale hardcopy and
2045  * stored print).
2046  *
2047  * Revision 1.42 1999/09/08 16:42:01 meichel
2048  * Moved configuration file evaluation to separate class.
2049  *
2050  * Revision 1.41 1999/09/01 16:14:39 meichel
2051  * Added support for requested image size to print routines
2052  *
2053  * Revision 1.40 1999/08/31 16:54:44 meichel
2054  * Added new sample application that allows to create simple print jobs.
2055  *
2056  * Revision 1.39 1999/08/31 14:02:05 meichel
2057  * Added print related config file methods
2058  *
2059  * Revision 1.38 1999/08/27 15:57:55 meichel
2060  * Added methods for saving hardcopy images and stored print objects
2061  * either in file or in the local database.
2062  *
2063  * Revision 1.37 1999/08/25 16:47:20 joergr
2064  * Moved method 'saveFileFormat()' to public part of the interface class.
2065  *
2066  * Revision 1.36 1999/05/05 14:25:26 joergr
2067  * Added optional parameter to method loadPState (from database) to change
2068  * instance reviewed flag for pstate and image.
2069  *
2070  * Revision 1.35 1999/04/29 15:25:37 joergr
2071  * Added PresentationLabel to index file.
2072  *
2073  * Revision 1.34 1999/04/27 11:23:16 joergr
2074  * Enhanced savePState() method: now image file is also added to index file
2075  * and stored in image directory (if not already there).
2076  * Added new entry to index file: Presentation Description.
2077  *
2078  * Revision 1.33 1999/03/03 13:24:32 joergr
2079  * Added methods to get and set ambient light value (re: Barten transformation).
2080  * Moved method 'isBartenTransformPossible()' from presentation state class to
2081  * interface class.
2082  *
2083  * Revision 1.32 1999/03/02 12:52:51 joergr
2084  * Added parameter to selectPState() specifying whether to change the review
2085  * status of the loaded presentation state.
2086  *
2087  * Revision 1.31 1999/02/25 18:38:58 joergr
2088  * Added some comments.
2089  * Renamed methods enable/disablePState().
2090  *
2091  * Revision 1.30 1999/02/24 20:17:48 joergr
2092  * Added methods to get a list of presentation states referencing the
2093  * currently selected image.
2094  * Added support for exchanging current presentation state (load from file)
2095  * without deleting the current image.
2096  *
2097  * Revision 1.29 1999/02/22 14:20:20 joergr
2098  * Added deletion of image files (depending on directory where the file is
2099  * stored).
2100  * Modified comments for getGUIConfig... methods to indicate that the
2101  * specified key must be upper case.
2102  * Reset reference time for file modification checking after the index file
2103  * has been changed internally (delete and change status methods).
2104  *
2105  * Revision 1.28 1999/02/19 18:58:11 joergr
2106  * Added methods to disable and (re-)enable PresentationStates.
2107  * Added (private) helper methods to reduce redundant lines of code.
2108  *
2109  * Revision 1.27 1999/02/19 09:44:17 joergr
2110  * Added comments to new database routines and related member variables.
2111  *
2112  * Revision 1.26 1999/02/18 18:46:19 joergr
2113  * Re-implemented methods to access index file (delete methods are still
2114  * missing).
2115  * Removed parameter 'deletefile' from delete methods. This parameter is
2116  * not necessary because the decision whether a images file is deleted only
2117  * depends on the directory where the file is stored (see comments).
2118  *
2119  * Revision 1.25 1999/02/18 11:07:26 meichel
2120  * Added new parameter explicitVR to interface methods savePState,
2121  * saveDICOMImage. Allows to choose between explicit VR and implicit VR
2122  * little endian format. Added new method saveCurrentImage that allows to
2123  * save the current image to file.
2124  *
2125  * Revision 1.24 1999/02/17 10:05:30 meichel
2126  * Moved creation of Display Function object from DVPresentationState to
2127  * DVInterface to avoid unnecessary re-reads.
2128  *
2129  * Revision 1.23 1999/02/16 16:36:10 meichel
2130  * Added method newInstancesReceived() to DVInterface class.
2131  *
2132  * Revision 1.22 1999/02/12 10:02:46 vorwerk
2133  * added cache , changed deletemethods.
2134  *
2135  * Revision 1.21 1999/02/09 15:58:07 meichel
2136  * Implemented methods that save images and presentation states in the DB.
2137  *
2138  * Revision 1.20 1999/02/08 10:52:33 meichel
2139  * Updated documentation of dviface.h in Doc++ style.
2140  * Removed dummy parameter from constructor.
2141  *
2142  * Revision 1.19 1999/02/05 17:45:35 meichel
2143  * Added config file entry for monitor characteristics file. Monitor charac-
2144  * teristics are passed to dcmimage if present to activate Barten transform.
2145  *
2146  * Revision 1.18 1999/02/05 11:38:01 vorwerk
2147  * parameter in stripidxarray added.
2148  *
2149  * Revision 1.17 1999/01/29 16:01:05 meichel
2150  * Reworked index file handle acquisition and locking code.
2151  *
2152  * Revision 1.16 1999/01/28 15:30:53 vorwerk
2153  * New database lock method added.
2154  *
2155  * Revision 1.15 1999/01/27 15:28:34 vorwerk
2156  * new method idxfiletest added to handle with indexfiles of length zero.
2157  *
2158  * Revision 1.14 1999/01/27 14:59:28 meichel
2159  * Implemented DICOM network receive application "dcmpsrcv" which receives
2160  * images and presentation states and stores them in the local database.
2161  *
2162  * Revision 1.13 1999/01/25 18:18:23 meichel
2163  * Defined private SOP class UID for network receiver
2164  * shutdown function. Cleanup up some code.
2165  *
2166  * Revision 1.12 1999/01/25 16:55:17 vorwerk
2167  * function stripidxarray added.
2168  *
2169  * Revision 1.11 1999/01/25 13:05:55 meichel
2170  * Implemented DVInterface::startReceiver()
2171  * and several config file related methods.
2172  *
2173  * Revision 1.10 1999/01/20 19:25:25 meichel
2174  * Implemented sendIOD method which creates a separate process for trans-
2175  * mitting images from the local database to a remote communication peer.
2176  *
2177  * Revision 1.9 1999/01/19 15:14:48 vorwerk
2178  * Methods for acesseing additional attributes added.
2179  *
2180  * Revision 1.8 1999/01/15 17:27:14 meichel
2181  * added DVInterface method resetPresentationState() which allows to reset a
2182  * presentation state to the initial state (after loading).
2183  *
2184  * Revision 1.7 1999/01/14 17:50:30 meichel
2185  * added new method saveDICOMImage() to class DVInterface.
2186  * Allows to store a bitmap as a DICOM image.
2187  *
2188  * Revision 1.6 1999/01/04 13:27:16 vorwerk
2189  * line inserted
2190  *
2191  * Revision 1.5 1999/01/04 13:02:26 vorwerk
2192  * getSeriesPerformingPhysicainsName() changed in getSeriesPerformingPhysiciansName()
2193  *
2194  * Revision 1.4 1998/12/22 17:57:03 meichel
2195  * Implemented Presentation State interface for overlays,
2196  * VOI LUTs, VOI windows, curves. Added test program that
2197  * allows to add curve data to DICOM images.
2198  *
2199  * Revision 1.3 1998/12/22 15:50:06 vorwerk
2200  * - constructor now with parameter for directory of index.dat
2201  * - changed const methods in non-const-methods
2202  * - added methods for attributes of DICOM-documents
2203  * - added private method for operations on index.dat
2204  *
2205  * Revision 1.2 1998/11/30 11:26:59 joergr
2206  * Added CVS/RCS log at end of file.
2207  *
2208  *
2209  */
unsigned long minimumPrintBitmapWidth
minimum width of print bitmap (used for implicit scaling)
Definition: dviface.h:1754
OFString printCurrentLUTID
config file identifier of LUT currently selected as Print Presentation LUT
Definition: dviface.h:1794
OFCondition setPrinterPriority(const char *value)
sets the (optional) print priority.
const char * getPrintPresentationLUTID()
if the Stored Print object contains an active Presentation LUT that was set with selectPrintPresentat...
const char * getStudyDescription()
returns the Study Description of the currently selected study.
OFCondition startReceiver()
starts the network receiver processes (Storage Service Class SCPs).
OFCondition setPrinterMediumType(const char *value)
sets the (optional) print medium type.
const char * getCurrentPrinter()
gets the current printer's target ID.
const char * getInstanceDescription()
returns the escription of the currently selected instance.
OFString printerPriority
printer print priority, may be empty.
Definition: dviface.h:1815
OFBool newInstancesReceived()
tests whether the database has been modified in any way since the last call to this method...
OFCondition startPrintSpooler()
starts the print spooler process.
DVStudyCache::ItemStruct * getStudyStruct(const char *studyUID=NULL, const char *seriesUID=NULL)
returns pointer to study struct specified by given UIDs or to current study
unsigned long maximumPreviewImageWidth
maximum width of (optional) preview image
Definition: dviface.h:1778
const char * getPStateDescription(Uint32 idx)
returns description of specified presentation state referencing the currently selected image...
OFBool prependLighting
true if reflected ambient light and illumination should be prepended to annotation text ...
Definition: dviface.h:1835
DicomImage * pHardcopyImage
pointer to the current hardcopy grayscale image (bitmap information only)
Definition: dviface.h:1632
void disableImageAndPState()
disables internal settings for image and presentation state.
unsigned long maximumPrintPreviewHeight
maximum height of print preview bitmap
Definition: dviface.h:1774
unsigned long getNumberOfUntrustworthySignatures(DVPSObjectType objtype) const
returns number of untrustworthy signatures for given object type.
const char * getStudyDate()
returns the Study Date of the currently selected study.
OFCondition setPrinterFilmSessionLabel(const char *value)
sets the (optional) printer film session label.
OFCondition dumpIOD(const char *filename)
creates a dump of the contents of a DICOM file and displays it on-screen.
OFBool getPrependPrinterName()
gets the current setting of the Prepend Printer Name annotation flag.
Definition: dviface.h:1408
OFBool createPStateCache()
creates cache of referencing pstates for the current image
const char * getAccessionNumber()
returns the Accession Number of the currently selected study.
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 data...
OFCondition exchangeImageAndPState(DVPresentationState *newState, DcmFileFormat *image, DcmFileFormat *state=NULL)
helper function that exchanges the current presentation state and image by the pointers passed and fr...
OFCondition startExternalApplication(const char *application, const char *filename)
starts an external application and passes a filename.
OFBool imageInDatabase
OFTrue if current image is already stored in database, OFFalse otherwise.
Definition: dviface.h:1683
OFCondition deleteStudy(const char *studyUID)
deletes the given study from the database.
OFCondition createPrintJobFilenames(const char *printer, OFString &tempname, OFString &jobname)
creates a new pair of filenames for print job creation.
unsigned long maximumPreviewImageHeight
maximum height of (optional) preview image
Definition: dviface.h:1782
DVStudyCache idxCache
hierarchical cache structure to optimize index file access
Definition: dviface.h:1671
OFCondition selectSeries(Uint32 idx)
selects the series with the given index within the currently selected study.
OFBool activateAnnotation
true if annotation should be created when spooling print job
Definition: dviface.h:1823
this struct defines the structure of each "Study Record" in the index.dat file maintained by this mod...
Definition: dcmqridx.h:244
unsigned long maximumPrintPreviewWidth
maximum width of print preview bitmap
Definition: dviface.h:1770
const char * getPrinterPriority()
gets the (optional) print priority.
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 da...
OFBool getPrependLighting()
gets the current setting of the Prepend Lighting annotation flag.
Definition: dviface.h:1413
DVPSStoredPrint & getPrintHandler()
returns a reference to the print handler.
Definition: dviface.h:266
DVPresentationState * pState
pointer to the current presentation state object
Definition: dviface.h:1607
OFCondition selectDisplayPresentationLUT(const char *lutID)
sets the LUT with the given identifier in the Presentation State as current Presentation LUT...
DVPresentationState * pStoredPState
pointer to the stored presentation state object (if any)
Definition: dviface.h:1619
DVPSInstanceType getInstanceType()
returns the type of the currently selected instance.
OFBool prependDateTime
true if date and time should be prepended to annotation text
Definition: dviface.h:1827
const char * getReferringPhysiciansName()
returns the Referring Physicians Name of the currently selected study.
OFString printerMediumType
printer medium type identifier, may be empty.
Definition: dviface.h:1798
a class handling the DICOM file format (with meta header)
Definition: dcfilefo.h:48
const char * getPresentationLabel()
returns the Presentation Label of the currently selected instance.
unsigned long getPrintPreviewSize()
gets number of bytes used for the print preview bitmap.
DcmFileFormat * pDicomImage
pointer to the current DICOM image attached to the presentation state
Definition: dviface.h:1623
void setAnnotationText(const char *value)
sets the current annotation text.
OFBool getPrependDateTime()
gets the current setting of the Prepend Date/Time annotation flag.
Definition: dviface.h:1403
a Grayscale Softcopy Presentation State.
Definition: dvpstat.h:43
OFCondition unlockExclusive()
removes an exlusive lock on the database if any.
DVInterface(const char *config_file=NULL, OFBool useLog=OFFalse)
constructor.
unsigned long getPrinterNumberOfCopies()
gets the (optional) print number of copies.
OFBool isActiveAnnotation()
gets the current setting of the annotation activity annotation flag.
Definition: dviface.h:1398
const char * getStudyUID()
returns the Study Instance UID of the currently selected study.
OFCondition printSCUcreateBasicFilmSession(DVPSPrintMessageHandler &printHandler, OFBool plutInSession)
Initiates the creation of a DICOM Basic Film Session SOP Instance in the printer. ...
const char * getFilename()
returns the Filename of the currently selected instance.
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.
Configuration class for the Softcopy Presentation State viewer.
Definition: dvpscf.h:46
OFString configPath
string containing the path name of the config file as passed to the ctor.
Definition: dviface.h:1645
const char * getPrinterFilmDestination()
gets the (optional) printer film destination.
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 pr...
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 loadStructuredReport(const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus=OFFalse)
loads a structured report which is contained in the database.
const char * getPatientID()
returns the Patient ID of the currently selected study.
OFCondition verifyAndSignStructuredReport(const char *userID, const char *passwd, DVPSVerifyAndSignMode mode)
verifies and digitally signs the current structured report.
int findStudyIdx(StudyDescRecord *study, const char *uid)
returns index of specified study within study description record
DVSeriesCache::ItemStruct * getSeriesStruct(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
unsigned long printJobCounter
a counter used for generating print job names.
Definition: dviface.h:1641
const char * getSeriesUID()
returns the Series Instance UID of the currently selected series.
const char * getPatientSex()
returns the Patient Sex of the currently selected study.
OFCondition lockExclusive()
creates an exlusive lock on the database if none exists.
void setActiveAnnotation(OFBool value)
switches annotation printing on/off
Definition: dviface.h:1423
OFCondition sendSeries(const char *targetID, const char *studyUID, const char *seriesUID)
sends a complete series over network to a different DICOM peer.
Definition: dviface.h:826
unsigned long getNumberOfCorrectSignatures(DVPSObjectType objtype) const
returns number of correct signatures for given object type.
OFCondition lockDatabase()
creates a database handle if none exists yet (this method may be called multiple times without interf...
DiDisplayFunction * displayFunction[DVPSD_max]
list of display function object
Definition: dviface.h:1659
OFCondition setAmbientLightValue(double value)
sets ambient light value for the display transformation.
const char * getPatientBirthDate()
returns the Patient Birth Date of the currently selected study.
OFCondition terminatePrintSpooler()
terminates the print spooler process.
OFCondition enablePState()
restores the stored presentation state (see disablePresentationState) and deletes the temporary prese...
OFCondition selectPState(Uint32 idx, OFBool changeStatus=OFFalse)
selects and loads specified presentation state referencing the currently selected image...
OFBool createIndexCache()
creates index cache to optimize reading of index file
OFCondition deleteInstance(const char *studyUID, const char *seriesUID, const char *instanceUID)
deletes the given instance from the database.
OFCondition checkIOD(const char *filename)
checks the contents of a DICOM file and displays an evaluation report on the screen.
void clearFilmSessionSettings()
resets the settings for basic film session (everything that is not managed by the Stored Print object...
OFCondition startPrintServer()
starts the print server process (Basic Grayscale Print Management SCP).
const char * getPatientBirthTime()
returns the Patient Birth Time of the currently selected study.
const char * getCurrentSignatureValidationOverview() const
returns a string containing a complete HTML page with the signature validation overview.
OFString currentPrinter
target ID of current printer, empty if no printer exists in config file
Definition: dviface.h:1786
DcmFileFormat * pDicomPState
pointer to the current DICOM dataset containing the loaded presentation state.
Definition: dviface.h:1628
const char * getInstanceUID()
returns the SOP Instance UID of the currently selected instance.
DVPSInstanceType getSeriesType()
returns the type of all instances within the currently selected series.
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_obj...
OFString printerFilmDestination
printer film destination identifier, may be empty.
Definition: dviface.h:1802
const char * getPatientName()
returns the Patient Name of the currently selected study.
OFCondition setPrinterOwnerID(const char *value)
sets the (optional) print session owner ID.
const char * getImageNumber()
returns the Image Number of the currently selected instance.
OFCondition saveCurrentPStateForReset()
saves the current state of the presentation state object to be used for resetPresentationState().
OFString annotationText
annotation text (if any)
Definition: dviface.h:1839
DVPSStoredPrint * pPrint
pointer to the current print handler object
Definition: dviface.h:1603
virtual ~DVInterface()
destructor.
OFCondition selectStudy(Uint32 idx)
selects the study with the given index in the database.
const char * getPrinterFilmSessionLabel()
gets the (optional) printer film session label.
unsigned long minimumPrintBitmapHeight
minimum height of print bitmap (used for implicit scaling)
Definition: dviface.h:1758
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...
int deleteImageFile(const char *filename)
conditionally deletes given image file (only if file resides in index.dat directory) ...
const char * getNameOfPhysiciansReadingStudy()
returns the Name Of Physicians Reading Study of the currently selected study.
OFCondition terminateQueryRetrieveServer()
terminates the query/retrieve server process (Query/Retrieve Service Class SCP).
the representation of a Stored Print object
Definition: dvpssp.h:51
const char * getSeriesPerformingPhysiciansName()
returns the Series Performing Physicians Name of the currently selected series.
OFCondition spoolPrintJob(OFBool deletePrintedImages=OFTrue)
start spooling of print job with current settings.
DSRDocument & getCurrentReport()
returns a reference to the current structured report.
Definition: dviface.h:257
Interface class for 'dcmsr' (DICOM Structured Reporting Documents).
Definition: dsrdoc.h:52
const char * getPrinterMediumType()
gets the (optional) print medium type.
handler for all digital signature related functions in dcmpstat
Definition: dvsighdl.h:51
Internal structure defining the list items.
Definition: dvcache.h:696
unsigned long printerNumberOfCopies
printer number of copies
Definition: dviface.h:1810
DVInterface & operator=(const DVInterface &)
private undefined assignment operator
OFCondition setPrinterFilmDestination(const char *value)
sets the (optional) printer film destination.
OFCondition selectPrintPresentationLUT(const char *lutID)
sets the LUT with the given identifier in the Stored Print object as current Presentation LUT...
This class maintains database handles based on the classical "index.dat" file.
Definition: dcmqrdbi.h:97
OFCondition setPrinterNumberOfCopies(unsigned long value)
sets the (optional) print number of copies.
const char * getDisplayPresentationLUTID()
if the Presentation State contains an active Presentation LUT that was set with selectDisplayPresenta...
OFCondition saveStoredPrint(const char *filename, OFBool writeRequestedImageSize, OFBool explicitVR=OFTrue, const char *instanceUID=NULL)
saves the current print job as a Stored Print object.
OFString databaseIndexFile
string containing the path name of the database index file after a database lock has been acquired fo...
Definition: dviface.h:1650
DVInstanceCache::ItemStruct * getInstanceStruct(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 ...
void clearIndexCache()
clears index cache (includes pstate cache)
DVIFhierarchyStatus getStudyStatus()
returns the review status of the currently selected study.
unsigned long getNumberOfCorruptSignatures(DVPSObjectType objtype) const
returns number of corrupt signatures for given object type.
A class to handle a study cache (list of items).
Definition: dvcache.h:689
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 im...
OFCondition getPrintPreviewWidthHeight(unsigned long &width, unsigned long &height)
gets width and height of print preview bitmap.
Internal structure defining the list items.
Definition: dvcache.h:416
const char * getSeriesProtocolName()
returns the Series Protocol Name of the currently selected series.
const char * getStudyTime()
returns the Study Time of the currently selected study.
OFCondition saveStructuredReport()
saves the current structured report in the same directory in which the database index file resides...
OFCondition sendStudy(const char *targetID, const char *studyUID)
sends a complete study over network to a different DICOM peer.
Definition: dviface.h:807
Uint32 getNumberOfInstances()
returns the number of instances (IODs) within the currently selected series.
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 p...
OFBool isDisplayTransformPossible(DVPSDisplayTransform transform=DVPSD_GSDF)
checks whether display correction is possible (in principle), i.e.
OFString displayCurrentLUTID
config file identifier of LUT currently selected as Display Presentation LUT
Definition: dviface.h:1790
const char * getSeriesOperatorsName()
returns the Series Operators Name of the currently selected series.
OFString printJobIdentifier
a unique string generated for each instance of this class.
Definition: dviface.h:1637
const char * getSeriesDate()
returns the Series Date of the currently selected series.
OFCondition deleteSeries(const char *studyUID, const char *seriesUID)
deletes the given series from the database.
OFCondition disablePState()
stores the current presentation state in a temporary place and creates a new presentation state that ...
Class to handle hardcopy and softcopy device characteristics file and manage display LUTs (for calibr...
Definition: didispfn.h:60
Uint32 getNumberOfStudies()
returns the number of studies currently contained in the database.
DVIFhierarchyStatus getSeriesStatus()
returns the review status of the currently selected series.
OFCondition selectInstance(Uint32 idx)
selects the instance with the given index within the currently selected series.
OFCondition loadPState(const char *studyUID, const char *seriesUID, const char *instanceUID, OFBool changeStatus=OFFalse)
loads a presentation state which is contained in the database.
IdxRecord idxRec
record structure of index items (last read entry)
Definition: dviface.h:1675
OFCondition createQueryRetrieveServerConfigFile(const char *filename)
creates the query/retrieve server configuration file.
const char * getOtherPatientNames()
returns the Other Patient Names of the currently selected study.
void clearIndexRecord(IdxRecord &record, int &recpos)
clears specified index record (and makes pos invalid)
const char * getCurrentSignatureValidationHTML(DVPSObjectType objtype) const
returns a string containing a complete HTML page with the signature validation results for the last o...
OFCondition resetPresentationState()
resets the presentation state object to the status it had immediately after the last successful opera...
this class manages an instance entry of the index file.
Definition: dcmqridx.h:326
OFCondition releaseDatabase()
removes any shared or exclusive lock on the database.
Interface class for dcmimgle/dcmimage module.
Definition: dcmimage.h:64
OFString printerFilmSessionLabel
printer film session label, may be empty.
Definition: dviface.h:1806
const char * getSeriesTime()
returns the Series Time of the currently selected series.
void resetDatabaseReferenceTime()
resets index file modification time to reference time (yesterday)
const char * getPrinterOwnerID()
gets the (optional) print session owner ID.
void unloadPrintPreview()
removes a currently loaded Hardcopy Grayscale image from memory.
OFBool verifyUserPassword(const char *userID, const char *passwd)
verifies the given password for the given user ID.
const char * getOtherPatientID()
returns the Other Patient ID of the currently selected study.
Internal structure defining the list items.
Definition: dvcache.h:77
void setPrependLighting(OFBool value)
sets the Prepend Lighting annotation flag.
Definition: dviface.h:1438
DSRDocument * pReport
pointer to the current structured reporting object (should never be NULL)
Definition: dviface.h:1611
a simple string class that implements a subset of std::string.
Definition: ofstring.h:86
const char * getEthnicGroup()
returns the Patient Ethnic Group of the currently selected study.
DcmQueryRetrieveIndexDatabaseHandle * pHandle
handle to access database/index file
Definition: dviface.h:1663
Uint32 getNumberOfSeries()
returns the number of series within the currently selected study.
OFCondition saveFileFormatToDB(DcmFileFormat &fileformat)
saves a DICOM object into a file in the same directory in which the database index file resides...
OFCondition terminatePrintServer()
terminates the print server process (Basic Grayscale Print Management SCP).
OFCondition startQueryRetrieveServer()
starts the query/retrieve server process (Query/Retrieve Service Class SCP).
unsigned long maximumPrintBitmapHeight
maximum height of print bitmap (used for implicit scaling)
Definition: dviface.h:1766
size_t getNumberOfPrintPreviews()
gets the number of Hardcopy Grayscaleimages currently registered by the stored print object...
OFCondition terminateReceiver()
terminates the network receiver process (Storage Service Class SCP).
Uint32 getNumberOfPStates()
returns number of presentation states referencing the currently selected image.
const char * getSOPClassUID()
returns the SOP class UID of the currently selected instance.
unsigned long maximumPrintBitmapWidth
maximum width of print bitmap (used for implicit scaling)
Definition: dviface.h:1762
const char * getModality()
returns the Modality of the currently selected series.
OFString printerOwnerID
printer film session owner ID, may be empty.
Definition: dviface.h:1819
const char * getSeriesDescription()
returns the Series Description of the currently selected series.
void setPrependPrinterName(OFBool value)
sets the Prepend Printer Name annotation flag.
Definition: dviface.h:1433
const char * c_str() const
returns a pointer to the initial element of an array of length size()+1 whose first size() elements e...
Definition: ofstring.h:392
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...
DVPSSignatureStatus getCombinedImagePStateSignatureStatus() const
returns the combined status flag for the current image and presentation state.
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 pres...
OFCondition loadSRTemplate(const char *reportID)
loads a structured reporting "template".
void setMaxPrintPreviewWidthHeight(unsigned long width, unsigned long height)
sets the maximum print preview bitmap width and height.
DVPresentationState & getCurrentPState()
returns a reference to the current presentation state.
Definition: dviface.h:247
OFBool prependPrinterName
true if printer name should be prepended to annotation text
Definition: dviface.h:1831
void setPrependDateTime(OFBool value)
sets the Prepend Date/Time annotation flag.
Definition: dviface.h:1428
OFCondition getPrintPreviewBitmap(void *bitmap, unsigned long size)
writes the bitmap data of the print preview image into the given buffer.
DVSignatureHandler * pSignatureHandler
pointer to the handler object for digital signatures
Definition: dviface.h:1615
const char * getSeriesNumber()
returns the Series Number of the currently selected series.
void updateStatusCache()
updates (hierarchical) status cache (propagates status information from instances to series and from ...
const char * getPStateLabel(Uint32 idx)
returns label of specified presentation state referencing the currently selected image.
OFBool lockingMode
locking mode (OFFalse => shared, OFTrue => exclusive)
Definition: dviface.h:1667
DVPSSignatureStatus getCurrentSignatureStatus(DVPSObjectType objtype) const
returns the status flag for the current object of given type.
DVIFhierarchyStatus getInstanceStatus()
returns the review status of the currently selected instance.
OFCondition setCurrentPrinter(const char *targetID)
selects the current printer.
size_t getNumberOfImageReferences()
gets the number of image references contained in the current presentation state.
OFCondition savePState(OFBool replaceSOPInstanceUID)
saves the current presentation state in the same directory in which the database index file resides...
Interface class for the Softcopy Presentation State viewer.
Definition: dviface.h:56
const char * getAnnotationText()
gets the current annotation text.
Definition: dviface.h:1418
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 getAmbientLightValue(double &value)
returns ambient light value for the display transformation.
General purpose class for condition codes.
Definition: ofcond.h:305
int idxRecPos
position of last read index record (for optimization purposes)
Definition: dviface.h:1679
unsigned long referenceTime
initialized with construction time of the interface object minus one day.
Definition: dviface.h:1655
representation of an association used for DICOM Basic Grayscale Print.
Definition: dvpspr.h:66
OFBool readIndexRecord(const int pos, IdxRecord &record, int *oldpos=NULL)
reads specified index record (comparing pos with oldpos to avoid redundant loading) ...


Generated on Wed Dec 14 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.11