inline OFCondition generateSharedFunctionalGroupsSequence()

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());
}