I am trying to associate DCMTK with a third-party application to use DICOM Segmentation.
I built DCMTK, added it to the project but when I call the method to create the binary segmentation file using:
Code: Select all
DcmSegmentation *segdoc = NULL;
OFCondition result = DcmSegmentation::createBinarySegmentation(segdoc, inputSize[1], inputSize[0], eq, ident);
Code: Select all
(itk::Image<short, 3>::SizeType) inputSize = {
m_Size = ([0] = 640, [1] = 640, [2] = 33)
}
Code: Select all
(IODGeneralEquipmentModule::EquipmentInfo) eq = {
m_Manufacturer = (theCString = "Test", theSize = 9, theCapacity = 9)
m_ManufacturerModelName = (theCString = "0", theSize = 1, theCapacity = 1)
m_DeviceSerialNumber = (theCString = "GetDicomSeg", theSize = 16, theCapacity = 16)
m_SoftwareVersions = (theCString = "v1.0.0", theSize = 6, theCapacity = 6)
}
Code: Select all
(ContentIdentificationMacro) ident = {
m_InstanceNumber = {
DcmByteString = {
DcmElement = {
DcmObject = {
errorFlag = {
theCondition = (theModule = 0, theCode = 0, theStatus = OF_ok, theText = "Normal")
ownsText = false
}
Tag = {
DcmTagKey = (group = 32, element = 19)
vr = (vr = EVR_UNKNOWN)
tagName = 0x0000000000000000
privateCreator = 0x0000000000000000
errorFlag = {
theCondition = (theModule = 1, theCode = 1, theStatus = OF_error, theText = "Invalid tag")
ownsText = false
}
}
Length = 2
fTransferState = ERW_init
fTransferredBytes = 0
Parent = 0x0000000000000000
}
fByteOrder = EBO_LittleEndian
fLoadValue = 0x0000000000000000
fValue = 0x00007fc85b26c540 "1"
}
paddingChar = ' '
maxLength = 12
realLength = 1
fStringMode = DCM_MachineString
nonSignificantChars = (theCString = " \\", theSize = 2, theCapacity = 2)
}
}
m_ContentLabel = {
DcmByteString = {
DcmElement = {
DcmObject = {
errorFlag = {
theCondition = (theModule = 0, theCode = 0, theStatus = OF_ok, theText = "Normal")
ownsText = false
}
Tag = {
DcmTagKey = (group = 112, element = 128)
vr = (vr = EVR_UNKNOWN)
tagName = 0x0000000000000000
privateCreator = 0x0000000000000000
errorFlag = {
theCondition = (theModule = 1, theCode = 1, theStatus = OF_error, theText = "Invalid tag")
ownsText = false
}
}
Length = 12
fTransferState = ERW_init
fTransferredBytes = 0
Parent = 0x0000000000000000
}
fByteOrder = EBO_LittleEndian
fLoadValue = 0x0000000000000000
fValue = 0x00007fc85a67dd80 "SEGMENTATION"
}
paddingChar = ' '
maxLength = 16
realLength = 12
fStringMode = DCM_MachineString
nonSignificantChars = (theCString = " \\", theSize = 2, theCapacity = 2)
}
}
m_ContentDescription = {
DcmCharString = {
DcmByteString = {
DcmElement = {
DcmObject = {
errorFlag = {
theCondition = (theModule = 0, theCode = 0, theStatus = OF_ok, theText = "Normal")
ownsText = false
}
Tag = {
DcmTagKey = (group = 112, element = 129)
vr = (vr = EVR_UNKNOWN)
tagName = 0x0000000000000000
privateCreator = 0x0000000000000000
errorFlag = {
theCondition = (theModule = 1, theCode = 1, theStatus = OF_error, theText = "Invalid tag")
ownsText = false
}
}
Length = 18
fTransferState = ERW_init
fTransferredBytes = 0
Parent = 0x0000000000000000
}
fByteOrder = EBO_LittleEndian
fLoadValue = 0x0000000000000000
fValue = 0x00007fc84f516980 "DICOM Segmentation"
}
paddingChar = ' '
maxLength = 64
realLength = 18
fStringMode = DCM_MachineString
nonSignificantChars = (theCString = " \\", theSize = 2, theCapacity = 2)
}
}
}
m_AlternateContentDescription = {
values_ = 0x0000000000000000
allocated_ = 0
size_ = 0
}
m_ContentCreatorName = {
DcmCharString = {
DcmByteString = {
DcmElement = {
DcmObject = {
errorFlag = {
theCondition = (theModule = 0, theCode = 0, theStatus = OF_ok, theText = "Normal")
ownsText = false
}
Tag = {
DcmTagKey = (group = 112, element = 132)
vr = (vr = EVR_UNKNOWN)
tagName = 0x0000000000000000
privateCreator = 0x0000000000000000
errorFlag = {
theCondition = (theModule = 1, theCode = 1, theStatus = OF_error, theText = "Invalid tag")
ownsText = false
}
}
Length = 4
fTransferState = ERW_init
fTransferredBytes = 0
Parent = 0x0000000000000000
}
fByteOrder = EBO_LittleEndian
fLoadValue = 0x0000000000000000
fValue = 0x00007fc853e747b0 "asd"
}
paddingChar = ' '
maxLength = 64
realLength = 3
fStringMode = DCM_MachineString
nonSignificantChars = (theCString = " \\^=", theSize = 4, theCapacity = 4)
}
}
}
m_ContentCreatorIdentificationCode = {
IODComponent = {
m_Item = {
m_pData = 0x00007fc856fad250
}
m_Rules = {
m_pData = 0x00007fc856fdc830
}
m_Parent = 0x0000000000000000
}
}
m_IODRules = {
m_Rules = {
values_ = {
OFListBase = {
afterLast = 0x00007fc856fae170
listSize = 6
}
}
}
}
}
Code: Select all
(OFCondition) result = {
theCondition = (theModule = 1, theCode = 42, theStatus = OF_error, theText = "Invalid Value")
ownsText = false
}
Thank you for your time.
Best,
Joao