in src/dcmtkUtils.cpp [83:104]
inline OFCondition generateSharedFunctionalGroupsSequence(
DcmDataset* resultObject, double pixelSizeWidthMm, double pixelSizeHeightMm) {
if (pixelSizeWidthMm <= 0) {
pixelSizeWidthMm = 0.1;
}
if (pixelSizeHeightMm <= 0) {
pixelSizeHeightMm = 0.1;
}
std::unique_ptr<DcmItem> sharedFunctionalGroupsSequence =
std::make_unique<DcmItem>();
std::unique_ptr<DcmItem> pixelMeasuresSequence = std::make_unique<DcmItem>();
std::string pixelSizeMmStr = std::to_string(pixelSizeHeightMm) + "\\" +
std::to_string(pixelSizeWidthMm);
pixelMeasuresSequence->putAndInsertString(DCM_PixelSpacing,
pixelSizeMmStr.c_str());
sharedFunctionalGroupsSequence->insertSequenceItem(
DCM_PixelMeasuresSequence, pixelMeasuresSequence.release());
return resultObject->insertSequenceItem(
DCM_SharedFunctionalGroupsSequence,
sharedFunctionalGroupsSequence.release());
}