std::unique_ptr WsiToDcm::initDicomIngest()

in src/wsiToDcm.cpp [145:171]


std::unique_ptr<DcmFilePyramidSource> WsiToDcm::initDicomIngest(
bool load_frame_data_from_dicom_using_dcmtk) {
  std::unique_ptr<DcmFilePyramidSource> dicomFile =
                std::make_unique<DcmFilePyramidSource>(wsiRequest_->inputFile,
                                       load_frame_data_from_dicom_using_dcmtk);
  if (!dicomFile->isValid()) {
    throw 1;
  }
  svsLevelCount_ = 1;
  largestSlideLevelWidth_ = dicomFile->imageWidth();
  largestSlideLevelHeight_ = dicomFile->imageHeight();
  wsiRequest_->frameSizeX = dicomFile->frameWidth();
  wsiRequest_->frameSizeY = dicomFile->frameHeight();
  if (wsiRequest_->studyId.size() < 1) {
    wsiRequest_->studyId =
            std::move(static_cast<std::string>(dicomFile->studyInstanceUID()));
  }
  if (wsiRequest_->seriesId.size() < 1) {
    wsiRequest_->seriesId =
           std::move(static_cast<std::string>(dicomFile->seriesInstanceUID()));
  }
  if (wsiRequest_->imageName.size() < 1) {
    wsiRequest_->imageName =
           std::move(static_cast<std::string>(dicomFile->seriesDescription()));
  }
  return std::move(dicomFile);
}