Remove QDicomUtility.
This commit is contained in:
@@ -1,17 +1,15 @@
|
|||||||
#include "DicomLoader.h"
|
#include "DicomLoader.h"
|
||||||
|
|
||||||
#include "Common/SeriesImageSet.h"
|
|
||||||
#include "DICOMHeaderHelper.h"
|
|
||||||
#include "ExtendMedicalImageProperties.h"
|
|
||||||
#include "vtkDCMTKImageReader.h"
|
|
||||||
#include "vtkImageData.h"
|
|
||||||
#include <map>
|
#include <map>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include <vtkStringArray.h>
|
#include <vtkStringArray.h>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include "QDicomUtility.h"
|
|
||||||
|
#include "Common/SeriesImageSet.h"
|
||||||
|
#include "DICOMHeaderHelper.h"
|
||||||
|
#include "vtkDCMTKImageReader.h"
|
||||||
|
|
||||||
#define ORIEN_NUM 4
|
#define ORIEN_NUM 4
|
||||||
#define SINGLE_INSTANCE 1
|
#define SINGLE_INSTANCE 1
|
||||||
|
|||||||
@@ -1,65 +0,0 @@
|
|||||||
//
|
|
||||||
// Created by Krad on 2022/3/4.
|
|
||||||
//
|
|
||||||
#include "QDicomUtility.h"
|
|
||||||
#include <QPaintEngine>
|
|
||||||
#include <QPainter>
|
|
||||||
#include <dcmtk/dcmdata/dcrledrg.h>
|
|
||||||
#include <dcmtk/dcmjpeg/djdecode.h>
|
|
||||||
#include <dcmtk/dcmjpls/djdecode.h>
|
|
||||||
#include <dcmtk/dcmdata/dcfilefo.h>
|
|
||||||
#include <dcmtk/dcmimgle/dcmimage.h>
|
|
||||||
#include "ExtendMedicalImageProperties.h"
|
|
||||||
|
|
||||||
QPixmap DicomUtil::GetThumbnail(ExtendMedicalImageProperties *property) {
|
|
||||||
double *wlww = property->GetNthWindowLevelPreset(0);
|
|
||||||
int ww = wlww ? ((int) wlww[0]) : (512);
|
|
||||||
int wl = wlww ? ((int) wlww[1]) : (256);
|
|
||||||
int sample = property->GetSamplePerPixel();
|
|
||||||
DcmRLEDecoderRegistration::registerCodecs(OFFalse, OFTrue);//注册解码器
|
|
||||||
/// register JPEG decompression codecs
|
|
||||||
DJDecoderRegistration::registerCodecs();//注册解码器
|
|
||||||
DJLSDecoderRegistration::registerCodecs();//
|
|
||||||
// FMJPEG2KDecoderRegistration::registerCodecs();//jpeg2000
|
|
||||||
DcmFileFormat *fileFormat = new DcmFileFormat();//读取文件获取传输语法
|
|
||||||
QPixmap pixmap(100, 100);
|
|
||||||
pixmap.fill(Qt::black);
|
|
||||||
if (fileFormat->loadFile(property->GetThumbnailFileName()).good()) {
|
|
||||||
DcmDataset *dset = fileFormat->getDataset();
|
|
||||||
|
|
||||||
//将原始传输语法输入DicomImage编译类库自我解压压缩的图像
|
|
||||||
DicomImage dcmImage(fileFormat, dset->getOriginalXfer(), CIF_MayDetachPixelData);
|
|
||||||
unsigned long w = 100;
|
|
||||||
|
|
||||||
bool flag = dcmImage.getWidth() > dcmImage.getHeight();
|
|
||||||
DicomImage *sdcmImage = dcmImage.createScaledImage(w, 0, 0, 1);
|
|
||||||
|
|
||||||
sdcmImage->setWindow(wl, ww);
|
|
||||||
if (sample == 1) {
|
|
||||||
uchar *data = (uchar *) sdcmImage->getOutputData(8);//按8位的位宽取数据
|
|
||||||
QImage image(data, sdcmImage->getWidth(), sdcmImage->getHeight(),
|
|
||||||
QImage::Format_Grayscale8);//使用8位深度的灰度图做输出
|
|
||||||
if (sdcmImage->getHeight() > 100) image = image.scaledToHeight(100);
|
|
||||||
QPainter p(&pixmap);
|
|
||||||
p.drawPixmap(50 - image.width() / 2, 50 - image.height() / 2, QPixmap::fromImage(image));
|
|
||||||
}
|
|
||||||
//RGB color image
|
|
||||||
else {
|
|
||||||
uchar *data = (uchar *) sdcmImage->getOutputData(8);//按8位的位宽取数据
|
|
||||||
QImage image(data, sdcmImage->getWidth(), sdcmImage->getHeight(),
|
|
||||||
QImage::Format_RGB888);//使用8位深度的rgb图做输出
|
|
||||||
if (sdcmImage->getHeight() > 100) image = image.scaledToHeight(100);
|
|
||||||
QPainter p(&pixmap);
|
|
||||||
p.drawPixmap(50 - image.width() / 2, 50 - image.height() / 2, QPixmap::fromImage(image));
|
|
||||||
}
|
|
||||||
|
|
||||||
delete sdcmImage;
|
|
||||||
// p.save();
|
|
||||||
}
|
|
||||||
delete fileFormat;
|
|
||||||
DcmRLEDecoderRegistration::cleanup();
|
|
||||||
DJDecoderRegistration::cleanup();
|
|
||||||
DJLSDecoderRegistration::cleanup();
|
|
||||||
// FMJPEG2KDecoderRegistration::cleanup();
|
|
||||||
return pixmap;
|
|
||||||
}
|
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
//
|
|
||||||
// Created by 87714 on 2021/7/26.
|
|
||||||
//
|
|
||||||
|
|
||||||
#ifndef OMEGAV_QDICOMUTILITY_H
|
|
||||||
#define OMEGAV_QDICOMUTILITY_H
|
|
||||||
|
|
||||||
|
|
||||||
#include <QtGui/qpixmap.h>
|
|
||||||
class ExtendMedicalImageProperties;
|
|
||||||
namespace DicomUtil {
|
|
||||||
QPixmap GetThumbnail(ExtendMedicalImageProperties *property);
|
|
||||||
}
|
|
||||||
#endif //OMEGAV_QDICOMUTILITY_H
|
|
||||||
Reference in New Issue
Block a user