У меня есть класс DicomInterface, который наследуется от класса DcmDataset. После установки тегов DICOM я хочу сохранить изображение DICOM с синтаксисом передачи JPEG Process 14. Если я сначала сохраню файл DICOM с синтаксисом передачи Little Endian Explicit VR, затем загружу файл и назначу его новому набору данных, то смогу сохранить новый набор данных в файл DICOM с синтаксисом передачи JPEG Process 14.
У меня есть класс DicomInterface, который наследуется от класса DcmDataset. После установки тегов DICOM я хочу сохранить изображение DICOM с синтаксисом передачи JPEG Process 14. Если я сначала сохраню файл DICOM с синтаксисом передачи Little Endian Explicit VR, затем загружу файл и назначу его новому набору данных, то смогу сохранить новый набор данных в файл DICOM с синтаксисом передачи JPEG Process 14. [code]void DicomInterface::SaveDicom(const QString &patient_name, const QString &study_number, const QString &img_name){ DcmFileFormat file_format(this); std::string dcm_path = GetSaveDicomPath(patient_name, study_number, img_name); DJEncoderRegistration::registerCodecs(); // Compress DJ_RPLossless representation_parameter;
// Save temporal dicom with EXS_LittleEndianExplicit file_format.saveFile(dcm_path.c_str(), EXS_LittleEndianExplicit);
// Load the temporal file OFCondition status = file_format.loadFile(dcm_path.c_str()); DcmDataset *dataset = file_format.getDataset();
// Save compressed Dicom status = dataset->chooseRepresentation(EXS_JPEGProcess14SV1, &representation_parameter); status = file_format.saveFile(dcm_path.c_str(), EXS_JPEGProcess14SV1); if (status.bad()) { qDebug()