由于mitk.net被人恶意抢注, 中科院分子影像重点实验室的www.mitk.net 改到 www.mitk.net.cn 。
目录:
第一章 《DCMTK(MD版)、QT、VS2015编写Dicom序列浏览应用程序-新建项目,配置环境》
第二章 《第二章 基于QT和DCMTK的Dicom 图像浏览器---界面设计》
第三章 《 基于QT和DCMTK的Dicom 图像浏览器---单个Dicom图像读取类》
第四章 《基于QT和DCMTK的Dicom 图像浏览器---检查文件夹下Dicom序列个数》
第五章 《基于QT和DCMTK的Dicom 图像浏览器---Dicom图像序列类》
第六章 《基于QT和DCMTK的Dicom 图像浏览器---Dicom视图类》
第七章 《基于QT和DCMTK的Dicom 图像浏览器---收尾》
一、设置界面
双击 DicomBrowse.ui ,打开QT设计师,并设置界面如下图:
界面文件DicomBrowse.ui 点击这里下载,需要使用邮箱注册个账号才可以下载(中国科学院分子影像重点实验室官网)。
二、计划设计功能
点击“选择Dicom文件夹”按钮,打开DICOM序列,如果当前文件夹下有多个序列,可以通过“选择序列”下拉菜单选择右边的视图显示那个序列。
可以通过左边设置伪彩下拉菜单设置灰度图像的伪彩色,可以通过窗宽位框设置当前窗宽和位
左边最下边信息框,显示当前序列信息;当移动鼠标时显示当前像素点信息;
通过滚轮控制显示序列的哪一张。
三、编辑DicomBrowse.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_DicomBrowse.h"
class DicomBrowse : public QMainWindow
{
Q_OBJECT
public:
DicomBrowse(QWidget *parent = Q_NULLPTR);
~DicomBrowse();
public slots:
// 槽函数为on_<控件名字>_<信号名>(); Qt 会默认连接<控件名字>的信号<信号名>到这个槽函数,不需要写connect
void on_pushButton_clicked();
void on_comboBox_which_currentIndexChanged(QString);
void on_comboBox_currentIndexChanged(int);
void on_lineEdit_ww_textEdited(QString);
void on_lineEdit_wl_textEdited(QString);
void set_lineEdit_ww_text(double);
void set_lineEdit_wl_text(double);
void setProgressBarValue(int);
void setPixelInfo(QString);
void setStatusMessage(QString);
private:
Ui::DicomBrowseClass ui;
};
二、编辑DicomBrowse.cpp
#include "DicomBrowse.h"
DicomBrowse::DicomBrowse(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
}
DicomBrowse::~DicomBrowse()
{
}
void DicomBrowse::on_pushButton_clicked()
{
}
void DicomBrowse::on_comboBox_which_currentIndexChanged(QString seriesUID)
{
}
void DicomBrowse::on_comboBox_currentIndexChanged(int color)
{
}
void DicomBrowse::on_lineEdit_ww_textEdited(QString ww)
{
}
void DicomBrowse::on_lineEdit_wl_textEdited(QString wl)
{
}
void DicomBrowse::set_lineEdit_ww_text(double winWidth)
{
ui.lineEdit_ww->setText(QString::number(winWidth));
}
void DicomBrowse::set_lineEdit_wl_text(double winCenter)
{
ui.lineEdit_wl->setText(QString::number(winCenter));
}
void DicomBrowse::setProgressBarValue(int progress)
{
ui.progressBar->setValue(progress);
}
void DicomBrowse::setPixelInfo(QString pixelInfo)
{
ui.textBrowser->setText(pixelInfo);
}
void DicomBrowse::setStatusMessage(QString message)
{
ui.statusBar->showMessage(message, 2888);
}