21 #ifndef __ctkDICOMItem_h 22 #define __ctkDICOMItem_h 24 #include "ctkDICOMCoreExport.h" 32 class DcmDataDictionary;
35 class ctkDICOMItemPrivate;
85 virtual void InitializeFromItem(DcmItem* dataset,
bool takeOwnership =
false);
90 virtual void InitializeFromFile(
const QString& filename,
91 const E_TransferSyntax readXfer = EXS_Unknown,
92 const E_GrpLenEncoding groupLength = EGL_noChange,
93 const Uint32 maxReadLength = DCM_MaxReadLength,
94 const E_FileReadMode readMode = ERM_autoDetect);
101 bool SaveToFile(
const QString& filePath)
const;
122 void MarkForInitialization();
126 bool IsInitialized()
const;
131 void EnsureDcmDataSetIsInitialized()
const;
142 bool CopyElement( DcmDataset* dataset,
const DcmTagKey& tag,
int type );
151 QString Decode(
const DcmTag& tag,
const OFString& raw)
const;
157 OFString Encode(
const DcmTag& tag,
const QString& qstring)
const;
162 OFCondition findAndGetElement(
const DcmTag& tag, DcmElement*& element,
const OFBool searchIntoSub=OFFalse)
const;
167 OFCondition findAndGetOFString(
const DcmTag& tag, OFString& value,
const unsigned long pos = 0,
const OFBool searchIntoSub=OFFalse)
const;
169 static bool CheckCondition(
const OFCondition&);
174 QString GetAllElementValuesAsString(
const DcmTag& tag )
const;
175 QString GetElementAsString(
const DcmTag& tag,
unsigned long pos = 0 )
const;
176 QStringList GetElementAsStringList(
const DcmTag& tag )
const;
177 ctkDICOMPersonName GetElementAsPersonName(
const DcmTag& tag,
unsigned long pos = 0 )
const;
179 QDate GetElementAsDate(
const DcmTag& tag,
unsigned long pos = 0 )
const;
180 QTime GetElementAsTime(
const DcmTag& tag,
unsigned long pos = 0 )
const;
181 double GetElementAsDouble(
const DcmTag& tag,
unsigned long pos = 0 )
const;
182 long GetElementAsInteger(
const DcmTag& tag,
unsigned long pos = 0 )
const;
183 int GetElementAsSignedShort(
const DcmTag& tag,
unsigned long pos = 0 )
const;
184 int GetElementAsUnsignedShort(
const DcmTag& tag,
unsigned long pos = 0 )
const;
189 QDateTime GetElementAsDateTime(
const DcmTag& tag,
unsigned long pos = 0 )
const;
195 bool SetElementAsString(
const DcmTag& tag, QString
string );
196 bool SetElementAsStringList(
const DcmTag& tag, QStringList stringList );
199 bool SetElementAsDate(
const DcmTag& tag, QDate date );
200 bool SetElementAsTime(
const DcmTag& tag, QTime time );
201 bool SetElementAsDateTime(
const DcmTag& tag, QDateTime dateTime );
202 bool SetElementAsInteger(
const DcmTag& tag,
long value,
unsigned long pos = 0 );
203 bool SetElementAsSignedShort(
const DcmTag& tag,
int value,
unsigned long pos = 0 );
204 bool SetElementAsUnsignedShort(
const DcmTag& tag,
int value,
unsigned long pos = 0 );
208 QString GetStudyInstanceUID()
const;
209 QString GetSeriesInstanceUID()
const;
210 QString GetSOPInstanceUID()
const;
215 static QString TranslateDefinedTermPatientPosition(
const QString& dt );
220 static QString TranslateDefinedTermModality(
const QString& dt );
225 static QString TagKey(
const DcmTag& tag );
230 static QString TagDescription(
const DcmTag& tag );
235 static QString TagVR(
const DcmTag& tag );
245 virtual QString GetStoredSerialization();
253 virtual void SetStoredSerialization(QString serializedDataset);
255 QScopedPointer<ctkDICOMItemPrivate>
d_ptr;
257 DcmItem& GetDcmItem()
const;
A person's name as modelled in DICOM.
QScopedPointer< ctkDICOMItemPrivate > d_ptr
ctkDICOMItem ctkDICOMItem