图像查看器

该代码实现了一个基于 PyQt6 的图像查看器应用,名为 ImageWindow。这个应用包含一个中心图像显示区域和两个用于显示线图的侧边栏。用户可以通过该应用实时查看和分析图像数据,并调整图像的显示参数。

功能介绍

该代码实现了一个基于 PyQt6 的图像查看器应用,名为 ImageWindow。这个应用包含一个中心图像显示区域和两个用于显示线图的侧边栏。用户可以通过该应用实时查看和分析图像数据,并调整图像的显示参数。

代码结构

  • 导入必要的模块和库
  • 定义 ImageWindow
  • 定义主函数 main
  • 定义脚本入口

类:ImageWindow

简短功能介绍

ImageWindow 类是一个主窗口,包含一个图像显示区域和两个用于显示线图的侧边栏。此外,它还提供了一些工具栏和面板,用于调整图像显示参数和查看图像信息。

方法:__init__

功能:初始化 ImageWindow 对象,并设置窗口名称和父对象。

参数

  • name:窗口名称。
  • parent:父对象(可选)。

主要步骤

  1. 调用父类 BMainWindow 的构造函数。
  2. 初始化属性字段。
  3. 调用 initUI 方法初始化用户界面。

方法:initUI

功能:初始化用户界面,包括状态栏、图像显示区域和停靠窗口。

主要步骤

  1. 显示状态栏信息。
  2. 创建图像显示区域并设置为中心部件。
  3. 创建停靠窗口(Dock Widgets)。

方法:createDockWidgets

功能:创建用于显示线图、直方图和图像信息的停靠窗口。

主要步骤

  1. 创建顶部的线图停靠窗口并添加到主窗口。
  2. 创建右侧的线图停靠窗口并添加到主窗口。
  3. 创建左侧的直方图停靠窗口并添加到主窗口。
  4. 创建顶部的图像信息停靠窗口并添加到主窗口。

方法:update_min_max

功能:更新图像显示的最小和最大亮度值。

主要步骤

  1. 获取直方图的最小和最大亮度值。
  2. 更新属性中的最小和最大亮度值。

方法:get_tick_position

功能:获取直方图梯度的刻度位置。

主要步骤

  1. 获取直方图梯度的所有刻度位置。
  2. 计算并返回归一化的刻度位置。

方法:closeEvent

功能:在窗口关闭事件中保存当前图像的显示范围和刻度位置。

主要步骤

  1. 获取图像显示的 x 和 y 范围。
  2. 保存显示范围和刻度位置到属性中。
  3. 调用父类的关闭事件处理方法。

主函数:main

功能:创建并显示 ImageWindow 实例。

参数

  • name:窗口名称。

主要步骤

  1. 创建 QApplication 实例。
  2. 创建 ImageWindow 实例并设置窗口图标。
  3. 显示窗口。
  4. 启动应用事件循环。

脚本入口

功能:解析命令行参数并调用 main 函数。

主要步骤

  1. 检查是否以交互模式运行。
  2. 解析命令行参数获取程序实例名称。
  3. 调用 main 函数。