当前位置: 首页 > news >正文

Java结合Swing处理Dicom图像集,实现翻页、左侧缩略图、窗宽位调整

一、代码部分

/**
 * @program: yan-api
 * @description:
 * @author: yc
 * @create: 2025-03-17 10:42
 **/
public class DicomViewer3 extends JFrame {

    // 图像:显示区域
    private JLabel imageLabel;
    // 状态栏:记录当前索引
    private JLabel statusLabel;
    // 上一页、下一页按钮
    private JButton prevButton;
    private JButton nextButton;

    private JSlider windowWidthSlider;
    private JSlider windowCenterSlider;
    private JLabel wwValueLabel;
    private JLabel wlValueLabel;

    // DICOM文件集合
    private List<File> dicomFileList = new ArrayList<>();
    // 当前DICOM文件索引
    private int currentSliceIndex = -1;


    private double[] huPixelData;
    private int width, height;
    private double rescaleSlope = 1.0;
    private double rescaleIntercept = 0.0;

    // 缩略图相关变量
    private static final int THUMBNAIL_WIDTH = 120;
    private static final int PREVIEW_COUNT = 3;

    // 创建缩略图面板
    private JPanel thumbnailPanel;


    private final Map<File, BufferedImage> thumbnailCache = new HashMap<>();

    public static void main(String[] args) {
        EventQueue.invokeLater(() -> {
            DicomViewer3 viewer = new DicomViewer3();
            viewer.setVisible(true);
        });
    }


   //............

}

完整代码联系 1393579546@qq.com

二、maven配置

<!--医学图像处理-->
<dependency>
    <groupId>org.dcm4che</groupId>
    <artifactId>dcm4che-core</artifactId>
    <version>5.27.0</version>
</dependency>
<dependency>
    <groupId>org.dcm4che</groupId>
    <artifactId>dcm4che-imageio</artifactId>
    <version>5.27.0</version>
</dependency>
<dependency>
    <groupId>org.dcm4che</groupId>
    <artifactId>dcm4che-imageio-opencv</artifactId>
    <version>5.27.0</version>
    <scope>runtime</scope>
</dependency>

<dependency>
    <groupId>org.dcm4che</groupId>
    <artifactId>dcm4che-image</artifactId>
    <version>5.27.0</version>
</dependency>

相关文章:

  • Windows 11 PowerShell重定向文本文件的编码问题
  • 3.3.1 spdlog异步日志
  • 3.1.3.3 Spring Boot使用Filter组件
  • 二分答案----
  • BeautifulSoup 踩坑笔记:SVG 显示异常的真正原因
  • unity曲线射击
  • Vuex 源码
  • 13. Git 远程仓库配置
  • rocketmq 5 TopicMessageType validate failed
  • 反垄断合规时代来临:企业如何抢占合规管理先机?
  • 谷歌最近放出大招——推出全新“Agent Development Kit(简称ADK)
  • YOLO学习笔记 | 一文详解YOLOv11核心创新与实践方法
  • 管理、切换多个 hosts工具之SwitchHosts
  • csdn的文章一键迁移搬家到博客园
  • centos-LLM-生物信息-BioGPT-使用1
  • VLC快速制作rtsp流媒体服务器
  • 数字人:打破次元壁,从娱乐舞台迈向教育新课堂(4/10)
  • Python实现批量插入PostgreSQL数据库的脚本分享
  • JAVA入门-Collection单列集合体系
  • Java学习手册:面向对象编程核心概念
  • 演示 又一个wordpress站点/百度seo营销
  • 怎样给网站做排名优化/最近重大新闻
  • 做室内设计人喜欢的网站/最新域名8xgmvxyz
  • 求职简历在哪个网站做/点击器原理
  • 建筑工程网格化监管/厦门关键词优化平台
  • 个人网站建设服务/交换链接