/usr/include/dcmtk/dcmpstat/dvpsspl.h is in libdcmtk-dev 3.6.2-3build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 | /*
*
* Copyright (C) 1998-2012, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmpstat
*
* Author: Marco Eichelberg
*
* Purpose:
* classes: DVPSStoredPrint_PList
*
*/
#ifndef DVPSSPL_H
#define DVPSSPL_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmpstat/dvpstyp.h"
#include "dcmtk/dcmpstat/dpdefine.h"
#include "dcmtk/ofstd/oflist.h"
#include "dcmtk/dcmdata/dcvrus.h"
#include "dcmtk/dcmdata/dcvrui.h"
#include "dcmtk/dcmnet/dimse.h"
class DVInterface;
class DVPSStoredPrint;
class DVConfiguration;
class DVPSPresentationLUT_PList;
/** a list of stored print objects, each of which manages a single Basic
* Film Box in a Print SCP.
*/
class DCMTK_DCMPSTAT_EXPORT DVPSStoredPrint_PList
{
public:
/// default constructor
DVPSStoredPrint_PList();
/// copy constructor
DVPSStoredPrint_PList(const DVPSStoredPrint_PList& copy);
/** clone method.
* @return a pointer to a new DVPSStoredPrint_PList object containing
* a deep copy of this object.
*/
DVPSStoredPrint_PList *clone() { return new DVPSStoredPrint_PList(*this); }
/// destructor
virtual ~DVPSStoredPrint_PList();
/** reset the object to initial state.
* After this call, the object is in the same state as after
* creation with the default constructor.
*/
void clear();
/** get number of stored print objects in this list.
* @return the number of stored print objects.
*/
size_t size() const { return list_.size(); }
/** adds a Stored Print object to the list of managed objects. The stored
* print object becomes owned by this object and is destroyed upon
* destruction of the list.
* @param newSP Stored Print object to be added.
*/
void insert(DVPSStoredPrint *newSP) { if (newSP) list_.push_back(newSP); }
/** performs a Print SCP Basic Film Box N-SET operation.
* The results of the N-SET operation are stored in the
* objects passed as rsp and rspDataset.
* @param cfg config file facility
* @param cfgname symbolic printer name in config file
* @param rq N-SET request message
* @param rqDataset N-SET request dataset
* @param rsp N-SET response message
* @param rspDataset N-SET response dataset passed back in this parameter
* @param presentationLUTnegotiated
* OFTrue if support for the Presentation LUT SOP class
* has been negotiated at association negotiation
* @param globalPresentationLUTList
* list of presentation LUTs managed by the Print SCP
*/
void printSCPBasicFilmBoxSet(
DVConfiguration& cfg,
const char *cfgname,
T_DIMSE_Message& rq,
DcmDataset *rqDataset,
T_DIMSE_Message& rsp,
DcmDataset *& rspDataset,
OFBool presentationLUTnegotiated,
DVPSPresentationLUT_PList& globalPresentationLUTList);
/** performs a Print SCP Basic Grayscale Image Box N-SET operation.
* The results of the N-SET operation are stored in the
* objects passed as rsp and rspDataset.
* If successful, a Hardcopy Grayscale Image object containing
* the image data of the N-SET request is created in the database.
* @param cfg config file facility
* @param cfgname symbolic printer name in config file
* @param rq N-SET request message
* @param rqDataset N-SET request dataset
* @param rsp N-SET response message
* @param rspDataset N-SET response dataset passed back in this parameter
* @param presentationLUTnegotiated
* OFTrue if support for the Presentation LUT SOP class
* has been negotiated at association negotiation
*/
void printSCPBasicGrayscaleImageBoxSet(
DVInterface& cfg,
const char *cfgname,
T_DIMSE_Message& rq,
DcmDataset *rqDataset,
T_DIMSE_Message& rsp,
DcmDataset *& rspDataset,
OFBool presentationLUTnegotiated);
/** performs a Print SCP Basic Film Box N-ACTION operation.
* The results of the N-ACTION operation are stored in the
* object passed as rsp.
* If successful, a Stored Print object containing the film box
* hierarchy is created in the database.
* @param cfg config file facility
* @param cfgname symbolic printer name in config file
* @param rq N-ACTION request message
* @param rsp N-ACTION response message
* @param globalPresentationLUTList list of presentation LUTs managed by the Print SCP
*/
void printSCPBasicFilmBoxAction(
DVInterface& cfg,
const char *cfgname,
T_DIMSE_Message& rq,
T_DIMSE_Message& rsp,
DVPSPresentationLUT_PList& globalPresentationLUTList);
/** performs a Print SCP Basic Film Session N-ACTION operation.
* The results of the N-ACTION operation are stored in the
* object passed as rsp.
* If successful, one Stored Print object for each film box
* in the film session is created in the database.
* @param cfg config file facility
* @param cfgname symbolic printer name in config file
* @param rsp N-ACTION response message
* @param globalPresentationLUTList list of presentation LUTs managed by the Print SCP
*/
void printSCPBasicFilmSessionAction(
DVInterface& cfg,
const char *cfgname,
T_DIMSE_Message& rsp,
DVPSPresentationLUT_PList& globalPresentationLUTList);
/** performs a Print SCP basic film box N-DELETE operation.
* The results of the N-DELETE operation are stored in the object passed as rsp.
* @param rq N-DELETE request message
* @param rsp N-DELETE response message
*/
void printSCPBasicFilmBoxDelete(T_DIMSE_Message& rq, T_DIMSE_Message& rsp);
/** checks whether a film box object with the given SOP instance UID
* already exists.
* @param uid uid to be checked
* @return OFTrue if found, OFFalse otherwise
*/
OFBool haveFilmBoxInstance(const char *uid);
/** checks whether the Presentation LUT with the given UID
* is referenced by any Stored Print object in this list
* on the film box level.
* @param uid uid to be compared
* @return OFTrue if equal, OFFalse otherwise
*/
OFBool usesPresentationLUT(const char *uid);
/** checks whether the given Presentation LUT type could be used together
* with all image boxes in all film boxes on a Print SCP that requires a matching
* alignment between a Presentation LUT and the image pixel data.
* @param align LUT alignment type
* @return OFTrue if matching, OFFalse otherwise
*/
OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const;
/** replaces the settings for illumination, reflected ambient light and
* referenced Presentation LUT in all film boxes in this list.
* Used by a Print SCP if Presentation LUT is implemented on Film Session
* level.
* @param newIllumination new value for illumination
* @param newReflectedAmbientLight new value for reflectedAmbientLight
* @param newReferencedPLUT new value for referenced presentation LUT instance UID
* @param newAlignment new alignment type of active presentation LUT
*/
void overridePresentationLUTSettings(
DcmUnsignedShort& newIllumination,
DcmUnsignedShort& newReflectedAmbientLight,
DcmUniqueIdentifier& newReferencedPLUT,
DVPSPrintPresentationLUTAlignment newAlignment);
private:
/// private undefined assignment operator
DVPSStoredPrint_PList& operator=(const DVPSStoredPrint_PList&);
/** the list maintained by this object
*/
OFList<DVPSStoredPrint *> list_;
};
#endif
|