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  */
const char * getSOPInstanceUID(size_t idx)
gets the current SOP Instance UID for the given registered image box.
a class representing a list of DICOM elements in which each element has a different tag and elements ...
Definition: dcitem.h:51
const char * getReferencedPresentationLUTInstanceUID(size_t idx)
gets the referenced Presentation LUT SOP Instance UID for the given registered image box...
OFCondition deleteMultipleImages(size_t number)
deletes multiple of the registered images, starting with the first one.
OFCondition setImagePolarity(size_t idx, const char *value)
sets the polarity for the given registered image box.
OFCondition getImageReference(size_t idx, const char *&studyUID, const char *&seriesUID, const char *&instanceUID)
returns the image UIDs that are required to look up the referenced image in the database ...
OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value)
sets the (optional) requested decimate/crop behaviour for all image boxes managed by this object...
a class representing the DICOM value representation 'Unique Identifier' (UI)
Definition: dcvrui.h:39
class representing a DICOM Sequence of Items (SQ).
Definition: dcsequen.h:47
OFCondition setImageConfigurationInformation(size_t idx, const char *value)
sets the (optional) configuration information for the given registered image box. ...
OFCondition setImageRequestedSize(size_t idx, const char *value)
sets the requested size for the given registered image box.
OFCondition setAllImagesToDefault()
sets magnification type, smoothing type and configuration information back to default for all registe...
OFBool printSCPCreate(unsigned long numBoxes, DcmUniqueIdentifier &studyUID, DcmUniqueIdentifier &seriesUID, const char *aetitle)
creates a number of image boxes as part of a Print SCP N-CREATE operation.
OFCondition write(DcmItem &dset, OFBool writeRequestedImageSize, size_t numItems, OFBool ignoreEmptyImages, OFBool writeReferencedPLUTSQ=OFTrue)
writes the list of image boxes managed by this object to a DICOM dataset.
OFCondition prepareBasicImageBox(size_t idx, DcmItem &dset)
writes the attributes managed by the referenced object that are part of a basic grayscale image box N...
void replace(DVPSImageBoxContent *newImageBox)
adds the given image box object to this list.
OFCondition read(DcmItem &dset, DVPSPresentationLUT_PList &presentationLUTList)
reads a list of image boxes (ImageBoxContentSequence) from a DICOM dataset.
OFCondition addImageBox(const char *instanceuid, const char *retrieveaetitle, const char *refstudyuid, const char *refseriesuid, const char *refsopclassuid, const char *refsopinstanceuid, const char *requestedimagesize, const char *patientid, const char *presentationlutuid)
creates a new image box object and sets the content of this image box object.
OFList< DVPSImageBoxContent * > list_
the list maintained by this object
Definition: dvpsibl.h:389
OFCondition setImageSmoothingType(size_t idx, const char *value)
sets the (optional) smoothing type for the given registered image box.
OFBool haveImagePositionClash(const char *uid, Uint16 position)
checks whether any of the image boxes managed by this list has the same position as the given one...
DVPSImageBoxContent_PList()
default constructor
DVPSImageBoxContent * getImageBox(size_t idx)
returns a pointer to the image box with the given index or NULL if it does not exist.
OFBool imageHasAdditionalSettings(size_t idx)
checks if one of the registered images has additional settings that are not default values on the ima...
OFCondition addImageSOPClasses(DcmSequenceOfItems &seq, size_t numItems=0)
adds all image SOP classes referenced in the image box list to the given sequence.
OFCondition setImageMagnificationType(size_t idx, const char *value)
sets the (optional) magnification type for the given registered image box.
const char * getImagePolarity(size_t idx)
gets the polarity for the given registered image box.
OFCondition writeReferencedImageBoxSQ(DcmItem &dset)
writes a Referenced Image Box Sequence for the image boxes managed by this object.
const char * getImageRequestedSize(size_t idx)
gets the requested size for the given registered image box.
const char * getImageSmoothingType(size_t idx)
gets the (optional) smoothing type for the given registered image box.
the list of presentation LUTs contained in a stored print object.
Definition: dvpspll.h:46
OFCondition deleteImage(size_t idx)
deletes one of the registered images.
the representation of a Image Box Content SQ item for Stored Print
Definition: dvpsib.h:45
DVPSImageBoxContent_PList & operator=(const DVPSImageBoxContent_PList &)
private undefined assignment operator
the list of Image Boxes contained in a stored print object.
Definition: dvpsibl.h:46
OFCondition createDefaultValues(OFBool renumber, OFBool ignoreEmptyImages)
create default values for all missing type 1 elements.
DVPSImageBoxContent * duplicateImageBox(const char *uid)
looks up the image box with the given SOP instance UID in this list and returns a pointer to a new ob...
size_t size() const
gets the number of image boxes in this list.
Definition: dvpsibl.h:106
DVPSImageBoxContent_PList * clone()
clone method.
Definition: dvpsibl.h:60
OFBool emptyPageWarning()
checks whether any of the image boxes has an image box position assigned.
const char * haveSinglePresentationLUTUsed(const char *filmBox)
if only one Presentation LUT is required to render all images managed by this object, returns the UID of this presentation LUT.
size_t size() const
returns number of elements in the list.
Definition: oflist.h:358
const char * getImageConfigurationInformation(size_t idx)
gets the (optional) configuration information for the given registered image box. ...
virtual ~DVPSImageBoxContent_PList()
destructor
OFBool presentationLUTInstanceUIDisUsed(const char *uid)
checks whether the given SOP instance UID is used as referenced Presentation LUT SOP Instance UID ins...
const char * getImageMagnificationType(size_t idx)
gets the (optional) magnification type for the given registered image box.
OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const
checks whether the given Presentation LUT type could be used together with all image boxes in this li...
OFCondition setImageSOPInstanceUID(size_t idx, const char *value)
sets the SOP instance UID for the given image box.
General purpose class for condition codes.
Definition: ofcond.h:305
void clear()
reset the object to initial state.


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