OFFIS DCMTK  Version 3.6.0
dvpsibl.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
17  *
18  * Purpose:
19  * classes: DVPSImageBoxContent_PList
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.28 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 #ifndef DVPSIBL_H
31 #define DVPSIBL_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 #include "dcmtk/dcmdata/dcitem.h"
35 #include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
36 #include "dcmtk/dcmdata/dcvrui.h"
37 
40 
47 {
48 public:
49 
52 
55 
61 
64 
74  OFCondition read(DcmItem &dset, DVPSPresentationLUT_PList& presentationLUTList);
75 
91  DcmItem &dset,
92  OFBool writeRequestedImageSize,
93  size_t numItems,
94  OFBool ignoreEmptyImages,
95  OFBool writeReferencedPLUTSQ = OFTrue);
96 
101  void clear();
102 
106  size_t size() const { return list_.size(); }
107 
114  OFCondition createDefaultValues(OFBool renumber, OFBool ignoreEmptyImages);
115 
123  OFCondition addImageSOPClasses(DcmSequenceOfItems& seq, size_t numItems=0);
124 
137  const char *instanceuid,
138  const char *retrieveaetitle,
139  const char *refstudyuid,
140  const char *refseriesuid,
141  const char *refsopclassuid,
142  const char *refsopinstanceuid,
143  const char *requestedimagesize,
144  const char *patientid,
145  const char *presentationlutuid);
146 
152 
160  OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value);
161 
166  OFCondition deleteImage(size_t idx);
167 
172  OFCondition deleteMultipleImages(size_t number);
173 
179  OFBool imageHasAdditionalSettings(size_t idx);
180 
186  OFCondition setImagePolarity(size_t idx, const char *value);
187 
193  OFCondition setImageRequestedSize(size_t idx, const char *value);
194 
202  OFCondition setImageMagnificationType(size_t idx, const char *value);
203 
211  OFCondition setImageSmoothingType(size_t idx, const char *value);
212 
220  OFCondition setImageConfigurationInformation(size_t idx, const char *value);
221 
227  OFCondition setImageSOPInstanceUID(size_t idx, const char *value);
228 
234 
239  const char *getImagePolarity(size_t idx);
240 
245  const char *getImageRequestedSize(size_t idx);
246 
251  const char *getImageMagnificationType(size_t idx);
252 
257  const char *getImageSmoothingType(size_t idx);
258 
263  const char *getImageConfigurationInformation(size_t idx);
264 
269  const char *getSOPInstanceUID(size_t idx);
270 
275  const char *getReferencedPresentationLUTInstanceUID(size_t idx);
276 
284  OFCondition getImageReference(size_t idx, const char *&studyUID, const char *&seriesUID, const char *&instanceUID);
285 
294  OFCondition prepareBasicImageBox(size_t idx, DcmItem &dset);
295 
302  OFBool presentationLUTInstanceUIDisUsed(const char *uid);
303 
311  const char *haveSinglePresentationLUTUsed(const char *filmBox);
312 
321  OFBool printSCPCreate(
322  unsigned long numBoxes,
323  DcmUniqueIdentifier& studyUID,
324  DcmUniqueIdentifier& seriesUID,
325  const char *aetitle);
326 
333 
340  OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const;
341 
348  DVPSImageBoxContent *duplicateImageBox(const char *uid);
349 
357  OFBool haveImagePositionClash(const char *uid, Uint16 position);
358 
364  void replace(DVPSImageBoxContent *newImageBox);
365 
372  OFBool emptyPageWarning();
373 
374 private:
375 
379 
385  DVPSImageBoxContent *getImageBox(size_t idx);
386 
390 
391 };
392 
393 
394 #endif
395 
396 /*
397  * $Log: dvpsibl.h,v $
398  * Revision 1.28 2010-10-14 13:16:36 joergr
399  * Updated copyright header. Added reference to COPYRIGHT file.
400  *
401  * Revision 1.27 2010-10-07 14:31:36 joergr
402  * Removed leading underscore characters from preprocessor symbols (reserved).
403  *
404  * Revision 1.26 2010-03-01 09:08:49 uli
405  * Removed some unnecessary include directives in the headers.
406  *
407  * Revision 1.25 2009-11-24 14:12:57 uli
408  * Switched to logging mechanism provided by the "new" oflog module.
409  *
410  * Revision 1.24 2009-09-30 10:42:38 uli
411  * Make dcmpstat's include headers self-sufficient by including all
412  * needed headers directly and stop using dctk.h
413  *
414  * Revision 1.23 2005-12-08 16:03:51 meichel
415  * Changed include path schema for all DCMTK header files
416  *
417  * Revision 1.22 2003/06/04 10:18:06 meichel
418  * Replaced private inheritance from template with aggregation
419  *
420  * Revision 1.21 2001/09/26 15:36:13 meichel
421  * Adapted dcmpstat to class OFCondition
422  *
423  * Revision 1.20 2001/06/01 15:50:18 meichel
424  * Updated copyright header
425  *
426  * Revision 1.19 2000/07/04 15:58:02 joergr
427  * Added support for overriding the presentation LUT settings made for the
428  * image boxes.
429  *
430  * Revision 1.18 2000/06/14 11:28:14 joergr
431  * Added methods to access the attributes Polarity and Requested Image Size.
432  *
433  * Revision 1.17 2000/06/08 10:44:29 meichel
434  * Implemented Referenced Presentation LUT Sequence on Basic Film Session level.
435  * Empty film boxes (pages) are not written to file anymore.
436  *
437  * Revision 1.16 2000/06/07 14:17:41 joergr
438  * Added methods to access the image polarity attribute.
439  *
440  * Revision 1.15 2000/06/02 16:00:48 meichel
441  * Adapted all dcmpstat classes to use OFConsole for log and error output
442  *
443  * Revision 1.14 2000/05/31 12:56:39 meichel
444  * Added initial Print SCP support
445  *
446  * Revision 1.13 2000/03/08 16:28:53 meichel
447  * Updated copyright header.
448  *
449  * Revision 1.12 1999/10/19 14:46:03 meichel
450  * added support for the Basic Annotation Box SOP Class
451  * as well as access methods for Max Density and Min Density.
452  *
453  * Revision 1.11 1999/10/07 17:21:48 meichel
454  * Reworked management of Presentation LUTs in order to create tighter
455  * coupling between Softcopy and Print.
456  *
457  * Revision 1.10 1999/09/24 15:23:45 meichel
458  * Print spooler (dcmprtsv) now logs diagnostic messages in log files
459  * when operating in spool mode.
460  *
461  * Revision 1.9 1999/09/17 14:33:57 meichel
462  * Completed print spool functionality including Supplement 22 support
463  *
464  * Revision 1.8 1999/09/15 17:43:28 meichel
465  * Implemented print job dispatcher code for dcmpstat, adapted dcmprtsv
466  * and dcmpsprt applications.
467  *
468  * Revision 1.7 1999/09/10 12:46:47 meichel
469  * Added implementations for a number of print API methods.
470  *
471  * Revision 1.6 1999/09/09 14:57:33 thiel
472  * Added methods for print spooler
473  *
474  * Revision 1.5 1999/09/01 16:14:40 meichel
475  * Added support for requested image size to print routines
476  *
477  * Revision 1.4 1999/08/31 14:09:11 meichel
478  * Added get/set methods for stored print attributes
479  *
480  * Revision 1.3 1999/08/27 15:57:56 meichel
481  * Added methods for saving hardcopy images and stored print objects
482  * either in file or in the local database.
483  *
484  * Revision 1.2 1999/08/26 09:30:59 thiel
485  * Add extensions for the usage of the StoredPrint
486  *
487  * Revision 1.1 1999/07/30 13:34:48 meichel
488  * Added new classes managing Stored Print objects
489  *
490  *
491  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2