OFFIS DCMTK  Version 3.6.0
dvpsib.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
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.24 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 #ifndef DVPSIB_H
31 #define DVPSIB_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 #include "dcmtk/ofstd/ofstring.h"
35 #include "dcmtk/dcmdata/dctk.h"
36 #include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
37 #include "dcmtk/dcmnet/dimse.h"
38 
40 class DVConfiguration;
41 
46 {
47 public:
50 
53 
58  DVPSImageBoxContent *clone() { return new DVPSImageBoxContent(*this); }
59 
61  virtual ~DVPSImageBoxContent();
62 
67  void clear();
68 
79  OFCondition read(DcmItem &dset, DVPSPresentationLUT_PList& presentationLUTList);
80 
91  OFCondition write(DcmItem &dset, OFBool writeRequestedImageSize, OFBool writeReferencedPLUTSQ = OFTrue);
92 
100  OFCondition createDefaultValues(OFBool renumber, unsigned long number, OFBool ignoreEmptyImages);
101 
105  const char *getSOPClassUID();
106 
120  const char *instanceuid,
121  const char *retrieveaetitle,
122  const char *refstudyuid,
123  const char *refseriesuid,
124  const char *refsopclassuid,
125  const char *refsopinstanceuid,
126  const char *requestedimagesize,
127  const char *patientid,
128  const char *presentationlutreference);
129 
136  OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value);
137 
142  DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour();
143 
148  OFBool hasAdditionalSettings();
149 
154 
158  const char *getPolarity();
159 
163  const char *getRequestedImageSize();
164 
168  const char *getMagnificationType();
169 
173  const char *getSmoothingType();
174 
178  const char *getConfigurationInformation();
179 
183  const char *getSOPInstanceUID();
184 
188  Uint16 getImageBoxPosition();
189 
194  OFCondition setPolarity(const char *value);
195 
200  OFCondition setRequestedImageSize(const char *value);
201 
208  OFCondition setMagnificationType(const char *value);
209 
216  OFCondition setSmoothingType(const char *value);
217 
224  OFCondition setConfigurationInformation(const char *value);
225 
230  OFCondition setSOPInstanceUID(const char *value);
231 
236 
243  OFCondition getImageReference(const char *&studyUID, const char *&seriesUID, const char *&instanceUID);
244 
253 
260  OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const;
261 
282  OFBool printSCPSet(
283  DVConfiguration& cfg,
284  const char *cfgname,
285  DcmDataset *rqDataset,
286  T_DIMSE_Message& rsp,
287  DcmDataset *& rspDataset,
288  DcmDataset &imageDataset,
289  DVPSPrintPresentationLUTAlignment align,
290  OFBool presentationLUTnegotiated);
291 
300  DcmUniqueIdentifier& studyUID,
301  DcmUniqueIdentifier& seriesUID,
302  const char *aetitle);
303 
304 private:
307 
314 
335  DVConfiguration& cfg,
336  const char *cfgname,
337  DcmItem *rqDataset,
338  T_DIMSE_Message& rsp,
339  DcmDataset &imageDataset,
340  DVPSPrintPresentationLUTAlignment align,
341  OFBool presentationLUTnegotiated);
342 
359 
360  /* the following attributes belong to the ReferencedImageSequence
361  * which must have exactly one item here.
362  */
377 
378  // we do not support the ReferencedImageOverlayBoxSequence which is retired in Supplement 35 anyway.
379 
380  // the ReferencedPresentationLUTSequence is only created/read on the fly
381  DcmUniqueIdentifier referencedPresentationLUTInstanceUID;
382 
384  DVPSImageDepth imageDepth;
385 
386 };
387 
388 #endif
389 
390 /*
391  * $Log: dvpsib.h,v $
392  * Revision 1.24 2010-10-14 13:16:36 joergr
393  * Updated copyright header. Added reference to COPYRIGHT file.
394  *
395  * Revision 1.23 2010-10-07 14:31:35 joergr
396  * Removed leading underscore characters from preprocessor symbols (reserved).
397  *
398  * Revision 1.22 2009-11-24 14:12:57 uli
399  * Switched to logging mechanism provided by the "new" oflog module.
400  *
401  * Revision 1.21 2005-12-08 16:03:50 meichel
402  * Changed include path schema for all DCMTK header files
403  *
404  * Revision 1.20 2001/09/26 15:36:12 meichel
405  * Adapted dcmpstat to class OFCondition
406  *
407  * Revision 1.19 2001/06/01 15:50:17 meichel
408  * Updated copyright header
409  *
410  * Revision 1.18 2000/07/04 15:58:01 joergr
411  * Added support for overriding the presentation LUT settings made for the
412  * image boxes.
413  *
414  * Revision 1.17 2000/06/14 11:28:13 joergr
415  * Added methods to access the attributes Polarity and Requested Image Size.
416  *
417  * Revision 1.16 2000/06/08 10:44:29 meichel
418  * Implemented Referenced Presentation LUT Sequence on Basic Film Session level.
419  * Empty film boxes (pages) are not written to file anymore.
420  *
421  * Revision 1.15 2000/06/07 14:17:41 joergr
422  * Added methods to access the image polarity attribute.
423  *
424  * Revision 1.14 2000/06/02 16:00:47 meichel
425  * Adapted all dcmpstat classes to use OFConsole for log and error output
426  *
427  * Revision 1.13 2000/05/31 12:56:38 meichel
428  * Added initial Print SCP support
429  *
430  * Revision 1.12 2000/03/08 16:28:53 meichel
431  * Updated copyright header.
432  *
433  * Revision 1.11 1999/10/07 17:21:47 meichel
434  * Reworked management of Presentation LUTs in order to create tighter
435  * coupling between Softcopy and Print.
436  *
437  * Revision 1.10 1999/09/24 15:23:44 meichel
438  * Print spooler (dcmprtsv) now logs diagnostic messages in log files
439  * when operating in spool mode.
440  *
441  * Revision 1.9 1999/09/17 14:33:56 meichel
442  * Completed print spool functionality including Supplement 22 support
443  *
444  * Revision 1.8 1999/09/15 17:43:27 meichel
445  * Implemented print job dispatcher code for dcmpstat, adapted dcmprtsv
446  * and dcmpsprt applications.
447  *
448  * Revision 1.7 1999/09/10 12:46:46 meichel
449  * Added implementations for a number of print API methods.
450  *
451  * Revision 1.6 1999/09/09 14:57:32 thiel
452  * Added methods for print spooler
453  *
454  * Revision 1.5 1999/09/01 16:14:40 meichel
455  * Added support for requested image size to print routines
456  *
457  * Revision 1.4 1999/08/31 14:09:10 meichel
458  * Added get/set methods for stored print attributes
459  *
460  * Revision 1.3 1999/08/27 15:57:55 meichel
461  * Added methods for saving hardcopy images and stored print objects
462  * either in file or in the local database.
463  *
464  * Revision 1.2 1999/08/26 09:30:59 thiel
465  * Add extensions for the usage of the StoredPrint
466  *
467  * Revision 1.1 1999/07/30 13:34:47 meichel
468  * Added new classes managing Stored Print objects
469  *
470  *
471  */
a class representing the DICOM value representation 'Integer String' (IS)
Definition: dcvris.h:39
DcmUniqueIdentifier referencedSOPInstanceUID
Module=Image_Box_List, VR=UI, VM=1, Type 1.
Definition: dvpsib.h:368
a class representing a list of DICOM elements in which each element has a different tag and elements ...
Definition: dcitem.h:51
OFCondition setConfigurationInformation(const char *value)
sets the (optional) configuration information.
a class representing the DICOM value representation 'Decimal String' (DS)
Definition: dcvrds.h:41
DcmUniqueIdentifier seriesInstanceUID
Module=Image_Box_List, VR=UI, VM=1, Type 1.
Definition: dvpsib.h:372
const char * getMagnificationType()
gets the (optional) magnification type.
a class representing the DICOM value representation 'Unique Identifier' (UI)
Definition: dcvrui.h:39
DVPSImageBoxContent & operator=(const DVPSImageBoxContent &)
private undefined assignment operator
const char * getPolarity()
gets the polarity.
DVPSImageDepth imageDepth
describes whether the image depth is 8 bit or 12 bit.
Definition: dvpsib.h:384
DcmUnsignedShort imageBoxPosition
Module=Image_Box_List, VR=US, VM=1, Type 1.
Definition: dvpsib.h:346
DcmLongString patientID
Module=Image_Box_List, VR=LO, VM=1, Type 2.
Definition: dvpsib.h:376
const char * getConfigurationInformation()
gets the (optional) configuration information.
Configuration class for the Softcopy Presentation State viewer.
Definition: dvpscf.h:46
DcmUniqueIdentifier referencedSOPClassUID
Module=Image_Box_List, VR=UI, VM=1, Type 1.
Definition: dvpsib.h:366
OFCondition prepareBasicImageBox(DcmItem &dset)
writes the attributes managed by this objects that are part of a basic grayscale image box N-SET requ...
void clear()
resets the object to initial state.
OFBool printSCPEvaluateBasicGrayscaleImageSequence(DVConfiguration &cfg, const char *cfgname, DcmItem *rqDataset, T_DIMSE_Message &rsp, DcmDataset &imageDataset, DVPSPrintPresentationLUTAlignment align, OFBool presentationLUTnegotiated)
evaluates the contents of the Basic Grayscale Image Sequence during a Print SCP Basic Grayscale Image...
DcmCodeString smoothingType
Module=Image_Box_List, VR=CS, VM=1, Type 3.
Definition: dvpsib.h:354
DcmIntegerString referencedFrameNumber
Module=Image_Box_List, VR=IS, VM=1, Type 1c.
Definition: dvpsib.h:374
OFCondition setMagnificationType(const char *value)
sets the (optional) magnification type.
DcmShortText configurationInformation
Module=Image_Box_List, VR=ST, VM=1, Type 3.
Definition: dvpsib.h:352
a class representing the DICOM value representation 'Short Text' (ST)
Definition: dcvrst.h:40
DVPSImageBoxContent()
default constructor
OFCondition getImageReference(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 ...
a class representing the DICOM value representation 'Long String' (LO)
Definition: dcvrlo.h:40
a class representing the DICOM value representation 'Code String' (CS)
Definition: dcvrcs.h:40
Uint16 getImageBoxPosition()
gets the current image box position, 0 if none is set.
OFCondition setPolarity(const char *value)
sets the polarity.
OFBool printSCPSet(DVConfiguration &cfg, const char *cfgname, DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset, DcmDataset &imageDataset, DVPSPrintPresentationLUTAlignment align, OFBool presentationLUTnegotiated)
performs a Print SCP Basic Grayscale Image Box N-SET operation.
OFCondition setContent(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 *presentationlutreference)
sets the content of this image box object.
const char * getReferencedPresentationLUTInstanceUID()
gets the (optional) referenced Presentation LUT Instance UID.
the list of presentation LUTs contained in a stored print object.
Definition: dvpspll.h:46
virtual ~DVPSImageBoxContent()
destructor
OFCondition setUIDsAndAETitle(DcmUniqueIdentifier &studyUID, DcmUniqueIdentifier &seriesUID, const char *aetitle)
assigns new values for study instance UID, series instance UID and retrieve aetitle.
OFCondition setDefault()
sets magnification type, smoothing type and configuration information back to default.
DcmUniqueIdentifier sOPInstanceUID
Module=Image_Box_List, VR=UI, VM=1, Type 1(c)
Definition: dvpsib.h:344
DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour()
gets the current requested decimate/crop behaviour setting that is used for this image box...
the representation of a Image Box Content SQ item for Stored Print
Definition: dvpsib.h:45
OFBool hasAdditionalSettings()
checks whether image box has additional settings that are not default.
OFCondition setSmoothingType(const char *value)
sets the (optional) smoothing type.
OFCondition write(DcmItem &dset, OFBool writeRequestedImageSize, OFBool writeReferencedPLUTSQ=OFTrue)
writes the image box managed by this object to a DICOM dataset.
a class representing the DICOM value representation 'Unsigned Short' (US)
Definition: dcvrus.h:40
a class handling the DICOM dataset format (files without meta header)
Definition: dcdatset.h:46
DcmCodeString polarity
Module=Image_Box_List, VR=CS, VM=1, Type 2.
Definition: dvpsib.h:348
DcmApplicationEntity retrieveAETitle
Module=Image_Box_List, VR=AE, VM=1-n, Type 1.
Definition: dvpsib.h:364
OFCondition createDefaultValues(OFBool renumber, unsigned long number, OFBool ignoreEmptyImages)
create default values for all missing type 1 elements.
const char * getRequestedImageSize()
gets the requested image size.
DcmDecimalString requestedImageSize
Module=Image_Box_List, VR=DS, VM=1, Type 3.
Definition: dvpsib.h:356
DVPSImageBoxContent * clone()
clone method.
Definition: dvpsib.h:58
DcmCodeString requestedDecimateCropBehavior
Module=Image_Box_List (Supplement 38), VR=CS, VM=1, Type 3.
Definition: dvpsib.h:358
const char * getSmoothingType()
gets the (optional) smoothing type.
OFCondition setRequestedImageSize(const char *value)
sets the requested image size.
DcmUniqueIdentifier studyInstanceUID
Module=Image_Box_List, VR=UI, VM=1, Type 1.
Definition: dvpsib.h:370
OFCondition read(DcmItem &dset, DVPSPresentationLUT_PList &presentationLUTList)
reads an image box content item from a DICOM dataset.
const char * getSOPClassUID()
returns the referencedSOPClassUID from the ReferencedImageSequence
OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const
checks whether the given Presentation LUT type could be used together with this image box on a Print ...
const char * getSOPInstanceUID()
gets the current SOP Instance UID.
DcmCodeString magnificationType
Module=Image_Box_List, VR=CS, VM=1, Type 3.
Definition: dvpsib.h:350
a class representing the DICOM value representation 'Application Entity' (AE)
Definition: dcvrae.h:40
OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value)
sets the (optional) requested decimate/crop behaviour for this image box.
OFCondition addReferencedPLUTSQ(DcmItem &dset)
writes a Referenced Presentation LUT SQ to the given dataset.
General purpose class for condition codes.
Definition: ofcond.h:305
OFCondition setSOPInstanceUID(const char *value)
sets the SOP instance UID (which is returned by the Print SCP).


Generated on Wed Dec 28 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.8