Remove QDicomUtility.
This commit is contained in:
@@ -1,17 +1,15 @@
|
||||
#include "DicomLoader.h"
|
||||
|
||||
#include "Common/SeriesImageSet.h"
|
||||
#include "DICOMHeaderHelper.h"
|
||||
#include "ExtendMedicalImageProperties.h"
|
||||
#include "vtkDCMTKImageReader.h"
|
||||
#include "vtkImageData.h"
|
||||
#include <map>
|
||||
#include <algorithm>
|
||||
#include <vtkStringArray.h>
|
||||
#include <QDebug>
|
||||
#include <string.h>
|
||||
#include <stdio.h>
|
||||
#include "QDicomUtility.h"
|
||||
|
||||
#include "Common/SeriesImageSet.h"
|
||||
#include "DICOMHeaderHelper.h"
|
||||
#include "vtkDCMTKImageReader.h"
|
||||
|
||||
#define ORIEN_NUM 4
|
||||
#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