DCMTK  Version 3.6.1 20170228
OFFIS DICOM Toolkit
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Image2Dcm Class Reference

Public Member Functions

 Image2Dcm ()
 Constructor, initializes command line options. More...
 
OFCondition convert (I2DImgSource *inputPlug, I2DOutputPlug *outPlug, DcmDataset *&resultDset, E_TransferSyntax &proposedTS)
 Start the conversion. More...
 
void setTemplateFile (const OFString &file)
 Sets a DICOM file that should serve as a template for the resulting DICOM object. More...
 
void setSeriesFrom (const OFString &file)
 Set file from which patient/study/series data should be imported from. More...
 
void setStudyFrom (const OFString &file)
 Set file from which patient/study/series data should be imported from. More...
 
void setIncrementInstanceNumber (OFBool incInstNo)
 Enables/Disables incrementing instance number taken over from DICOM file. More...
 
void setISOLatin1 (OFBool insertLatin1)
 Enables/disables autotmatic insertion of the value "ISO_IR100" as a value for the Specific Character Set attribute. More...
 
void setOverrideKeys (const OFList< OFString > &ovkeys)
 Specifies some attributes that should be inserted after conversion. More...
 
void setValidityChecking (OFBool doChecks, OFBool insertMissingType2=OFTrue, OFBool inventMissingType1=OFTrue)
 Enable/Disable basic validity checks for output dataset. More...
 
 ~Image2Dcm ()
 Destructor, frees plugin memory. More...
 

Protected Member Functions

void cleanupTemplate (DcmDataset *targetDset)
 Cleans up template for future insertion of pixel data information, ie generally removes attributes from image pixel module. More...
 
OFCondition applyStudyOrSeriesFromFile (DcmDataset *targetDset)
 Parses patient/study/series level attributes from file as defined on command line and fills internal attributes accordingly. More...
 
OFCondition incrementInstanceNumber (DcmDataset *targetDset)
 Increments instance number in given dataset. More...
 
OFCondition generateUIDs (DcmDataset *dset)
 Generates and inserts missing UIDs, ie UIDs not taken over from –dataset-from –study from and –series-from options. More...
 
OFCondition readAndInsertPixelData (I2DImgSource *imageSource, DcmDataset *dset, E_TransferSyntax &outputTS)
 Reads pixel data and corresponding attributes like rows etc. More...
 
OFString isValid (DcmDataset &dataset) const
 Do some completeness / validity checks. More...
 
OFCondition applyOverrideKeys (DcmDataset *outputDset)
 Copy override keys over existing keys in given dataset. More...
 
OFCondition insertLatin1 (DcmDataset *outputDset)
 Inserts "ISO_IR100" in the attribute "Specific Character Set". More...
 
OFString checkAndInventType1Attrib (const DcmTagKey &key, DcmDataset *targetDset, const OFString &defaultValue="") const
 Check whether given type 1 attribute is present and has a length > 0. More...
 
OFString checkAndInventType2Attrib (const DcmTagKey &key, DcmDataset *targetDset) const
 Inserts an empty element with the given tag into a dataset. More...
 

Private Member Functions

OFCondition insertEncapsulatedPixelData (DcmDataset *dset, char *pixData, Uint32 length, const E_TransferSyntax &outputTS) const
 Correctly inserts encapsulated pixel data. More...
 

Private Attributes

OFList< OFStringm_overrideKeys
 These attributes are applied to the dataset after conversion (and are not checked by the isValid() function)
 
OFString m_templateFile
 If not empty, the DICOM file specified in this variable is used as a base for the DICOM image file to be created, ie. More...
 
OFBool m_readStudyLevel
 If true, patient and study data is read from file.
 
OFBool m_readSeriesLevel
 If true, patient, study and series data is read from file.
 
OFString m_studySeriesFile
 File to read study and series from.
 
OFBool m_incInstNoFromFile
 If true, Instance Number ist read from file and incremented by 1.
 
OFBool m_disableAttribChecks
 If true, some simple attribute checks (missing type 2 attributes or missing type 1 values) are omitted.
 
OFBool m_inventMissingType2Attribs
 If true, missing type 2 elements are inserted automatically (empty value). More...
 
OFBool m_inventMissingType1Attribs
 If true, missing type 1 elements are inserted automatically with a predefined value, if possible. More...
 
OFBool m_insertLatin1
 If enabled, ISO_IR100 (ISO Latin 1) is inserted as a standard value for attribute "Specific Character Set". More...
 

Constructor & Destructor Documentation

Image2Dcm::Image2Dcm ( )

Constructor, initializes command line options.

Returns
none
Image2Dcm::~Image2Dcm ( )

Destructor, frees plugin memory.

Returns
none

Member Function Documentation

OFCondition Image2Dcm::applyOverrideKeys ( DcmDataset outputDset)
protected

Copy override keys over existing keys in given dataset.

Parameters
outputDset- [out] dataset to which the override keys are copied
Returns
Error code if error occurs, EC_Normal otherwise
OFCondition Image2Dcm::applyStudyOrSeriesFromFile ( DcmDataset targetDset)
protected

Parses patient/study/series level attributes from file as defined on command line and fills internal attributes accordingly.

Parameters
targetDset- [out] The dataset to write the attributes to
Returns
EC_Normal, if successful, error otherwise
OFString Image2Dcm::checkAndInventType1Attrib ( const DcmTagKey key,
DcmDataset targetDset,
const OFString defaultValue = "" 
) const
protected

Check whether given type 1 attribute is present and has a length > 0.

Parameters
key- [in] The attribute tag check
targetDset- [out] targetDset
defaultValue- [in] value to be inserted if attribute is missing (needs invent option for type 1 attributes enabled)
Returns
A string with an error message if attribute is not present or has length of 0
OFString Image2Dcm::checkAndInventType2Attrib ( const DcmTagKey key,
DcmDataset targetDset 
) const
protected

Inserts an empty element with the given tag into a dataset.

Parameters
key- [in] The attribute tag to check
targetDset- [out] targetDset
Returns
A string with an error message if attribute is not present nor gets inserted automatically (see m_inventMissingType2Attribs)
void Image2Dcm::cleanupTemplate ( DcmDataset targetDset)
protected

Cleans up template for future insertion of pixel data information, ie generally removes attributes from image pixel module.

Parameters
targetDset- [out] The dataset that should be cleand up
Returns
none
OFCondition Image2Dcm::convert ( I2DImgSource inputPlug,
I2DOutputPlug outPlug,
DcmDataset *&  resultDset,
E_TransferSyntax proposedTS 
)

Start the conversion.

Needs a fully configured input plugin and a fully configured output plugin to operate. Returns a dataset with the resulting DICOM object.

Parameters
inputPlug- [in] The input plugin to read pixel data
outPlug- [in] The output plugin for specific SOP class output
resultDset- [out] The DICOM object resulting from the conversion
proposedTS- [out] The proposed transfer syntax (needed e. g. by JPEG input plugin)
Returns
EC_Normal, if successfull, error otherwise
OFCondition Image2Dcm::generateUIDs ( DcmDataset dset)
protected

Generates and inserts missing UIDs, ie UIDs not taken over from –dataset-from –study from and –series-from options.

Parameters
dset- [in] The dataset to write the UIDs to
Returns
EC_Normal, if successful, error otherwise
OFCondition Image2Dcm::incrementInstanceNumber ( DcmDataset targetDset)
protected

Increments instance number in given dataset.

Parameters
targetDset- [in/out] Dataset to increment instance number in
Returns
EC_Normal, if successful, error otherwise
OFCondition Image2Dcm::insertEncapsulatedPixelData ( DcmDataset dset,
char *  pixData,
Uint32  length,
const E_TransferSyntax outputTS 
) const
private

Correctly inserts encapsulated pixel data.

Parameters
dset[in] - The dataset to which we should add this.
pixData[in] - The data to add.
length[in] - The length of pixData.
outputTS[in] - The output transfer syntax to be used
Returns
EC_Normal, if successfull, error otherwise.
OFCondition Image2Dcm::insertLatin1 ( DcmDataset outputDset)
protected

Inserts "ISO_IR100" in the attribute "Specific Character Set".

Overwrites any existing value.

Parameters
outputDset- [out] The dataset to write to
Returns
EC_Normal if insertion is successfull, error code otherwise
OFString Image2Dcm::isValid ( DcmDataset dataset) const
protected

Do some completeness / validity checks.

Should be called when dataset is completed and is about to be saved.

Parameters
dataset- [in] The dataset to check
Returns
Error string if error occurs, empty string otherwise
OFCondition Image2Dcm::readAndInsertPixelData ( I2DImgSource imageSource,
DcmDataset dset,
E_TransferSyntax outputTS 
)
protected

Reads pixel data and corresponding attributes like rows etc.

from image file and inserts them into dataset.

Parameters
imageSource- [in] The input plugin that actually reads the pixel data
dset- [out] The dataset to export the pixel data attributes to
outputTS- [out] The proposed transfex syntax of the dataset
Returns
EC_Normal, if successful, error otherwise
void Image2Dcm::setIncrementInstanceNumber ( OFBool  incInstNo)

Enables/Disables incrementing instance number taken over from DICOM file.

This can either be a the study/series file or the template file provided.

Parameters
incInstNo- [in] If true, the instance number will be incremented
Returns
none
void Image2Dcm::setISOLatin1 ( OFBool  insertLatin1)

Enables/disables autotmatic insertion of the value "ISO_IR100" as a value for the Specific Character Set attribute.

If disabled, no value is inserted for Specifific Character Set but instead must be provided by other means (see setTemplateFile(), setSeriesFrom(), setStudyFrom(), setOverrideKeys()). The insertion is applied after loading the (optional) template file; the value might be overwritten by the value copied by setStudy/Series/OverrideKeys.

Parameters
insertLatin1- [in] Enable/disable insertion of Iso Latin 1
Returns
none;
void Image2Dcm::setOverrideKeys ( const OFList< OFString > &  ovkeys)

Specifies some attributes that should be inserted after conversion.

They will override any identical attributes already existing in the converted result DICOM object. The override keys are applied at the very end of the conversion and do not undergoe any validity checking.

Parameters
ovkeys[in] override keys that can be tags, dictionary names and paths (see DcmPath for syntax). Also it is permitted to set a value if appropriate, e. g. "PatientName=Doe^John" would be a valid override key.
Returns
none
void Image2Dcm::setSeriesFrom ( const OFString file)

Set file from which patient/study/series data should be imported from.

Parameters
file- [in] The DICOM file to read from
Returns
none
void Image2Dcm::setStudyFrom ( const OFString file)

Set file from which patient/study/series data should be imported from.

Parameters
file- [in] The DICOM file to read from
Returns
none
void Image2Dcm::setTemplateFile ( const OFString file)

Sets a DICOM file that should serve as a template for the resulting DICOM object.

Only the dataset of the given file is imported.

Parameters
file- [in] The filename of the template DICOM file
Returns
none
void Image2Dcm::setValidityChecking ( OFBool  doChecks,
OFBool  insertMissingType2 = OFTrue,
OFBool  inventMissingType1 = OFTrue 
)

Enable/Disable basic validity checks for output dataset.

Parameters
doChecks- [in] OFTrue enables checking, OFFalse turns it off.
insertMissingType2- [in] If true (default), missing type 2 attributes are inserted automatically
inventMissingType1- [in] If true , missing type 1 attributes are inserted automatically with a predefined value (if possible). An existing empty type 1 attribute is assigned a value, too.
Returns
none

Member Data Documentation

OFBool Image2Dcm::m_insertLatin1
private

If enabled, ISO_IR100 (ISO Latin 1) is inserted as a standard value for attribute "Specific Character Set".

Insertion takes place after loading (optional) template file.

OFBool Image2Dcm::m_inventMissingType1Attribs
private

If true, missing type 1 elements are inserted automatically with a predefined value, if possible.

Disabled per default.

OFBool Image2Dcm::m_inventMissingType2Attribs
private

If true, missing type 2 elements are inserted automatically (empty value).

Enabled per default.

OFString Image2Dcm::m_templateFile
private

If not empty, the DICOM file specified in this variable is used as a base for the DICOM image file to be created, ie.

all attributes are taken over from this template file


The documentation for this class was generated from the following file:


Generated on Tue Feb 28 2017 for DCMTK Version 3.6.1 20170228 by Doxygen 1.8.8