Сохраняйте сжатое изображение DICOM без необходимости временно сохранять несжатое изображение DICOM.C++

Программы на C++. Форум разработчиков
Anonymous
Сохраняйте сжатое изображение DICOM без необходимости временно сохранять несжатое изображение DICOM.

Сообщение Anonymous »

У меня есть класс DicomInterface, который наследуется от класса DcmDataset. После установки тегов DICOM я хочу сохранить изображение DICOM с синтаксисом передачи JPEG Process 14. Если я сначала сохраню файл DICOM с синтаксисом передачи Little Endian Explicit VR, затем загружу файл и назначу его новому набору данных, то смогу сохранить новый набор данных в файл DICOM с синтаксисом передачи JPEG Process 14.

Код: Выделить всё

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

Подробнее здесь: [url]https://stackoverflow.com/questions/78284211/save-compressed-dicom-image-without-having-to-temporally-save-uncompressed-dicom[/url]

Вернуться в «C++»