in src/dcmtkUtils.cpp [354:376]
OFCondition DcmtkUtils::insertBaseImageTags(absl::string_view imageName,
const int64_t imageHeight, const int64_t imageWidth,
const double firstLevelWidthMm, const double firstLevelHeightMm,
DcmDataset* dataSet) {
std::string imageName_str = std::move(static_cast<std::string>(imageName));
OFCondition cond;
if (imageName_str.length() > 0) {
cond = dataSet->putAndInsertOFStringArray(DCM_SeriesDescription,
imageName_str.c_str());
if (cond.bad()) return cond;
}
cond = dataSet->putAndInsertUint32(DCM_TotalPixelMatrixColumns, imageWidth);
if (cond.bad()) return cond;
cond = dataSet->putAndInsertUint32(DCM_TotalPixelMatrixRows, imageHeight);
if (firstLevelWidthMm > 0 && firstLevelHeightMm > 0 && cond.good()) {
cond =
dataSet->putAndInsertFloat32(DCM_ImagedVolumeWidth, firstLevelWidthMm);
if (cond.bad()) return cond;
cond = dataSet->putAndInsertFloat32(DCM_ImagedVolumeHeight,
firstLevelHeightMm);
}
return cond;
}