7. 数据分析

7.1. 作图

绘图仪对象提供了一组不同的方法,用于在一维、二维或三维中打印一维或二维数据。本章将为每种不同的绘图类型提供一个示例。

7.1.1. 一维曲线图

7.1.2. 二维图像绘图

7.1.3. 查看图像

从钻石的许多探测器查看图像的能力已经被纳入GDA。目前可以将以下探测器的图像加载到GDA中:

  • MX光束线上的ADSC探测器 ADSCLoader

  • MAR探测器 MARLoader

  • 皮拉图斯口角 PilatusTiffLoader

  • CBF文件 CBFLoader

  • JPEG、TIFF和PNG图像 JPEGLoader、TIFFLoader和PNGLoader

以上内容在Jython终端中的使用方式如下:

>>> from gda.analysis.io import *
>>> sfh = ScanFileHolder()
>>> sfh.load(FileReader("FileName"))
>>> Plotter.plotImage("Data Vector", sfh[0])

图像可以从ScanFileHolder以PNG或JPEG格式(PNGSaver和JPEGSaver)保存,并且可以缩放图像,以便能够以请求的格式保存。对于任何像素值的强度,jpeg的上限是255png,png是65535。如果像素强度大于此值,则可以缩放图像以适合图像格式的最大深度。可以使用PNGScaledSaver和JPEGScaledSaver::

>>> from gda.analysis.io.import
>>> # Assuming that a scan file holder has been created
>>> # containing the data and is called 'sfh'
>>> sfh.save(FileSave("FileName"))

如果没有指定结尾,则会添加正确的结尾,如果有许多图像,则会将其命名为“Image00001.xxx、Image00002.xxx”等。

7.1.4. 三维曲面图

本章将提供有关如何生成二维数据或图像文件的3D曲面图的分步示例

  • 生成ScanFileHolder对象::

    >>> data = ScanFileHolder()
    
  • 加载数据文件::

    >>> data.load(OtokoLoader("/s/Science/DASC/LinuxFiles/B09000.806"))
    
  • 将数据显示为3D曲面图:

    >>> Plotter.plot3D("Data Vector",data[0])
    

要使第三行正常工作,您必须确保在实际配置中具有data Vector面板。这是绘制2D数据集曲面的最简单方法。如果没有提供第三个参数,并且ScanFileHolder中包含的数据太大而无法一次显示,要么是因为没有足够的可用内存,要么是因为显示刷新率太低,因此不具有交互性,它将自动进行二次采样。如果您不喜欢子采样,而是希望将数据子集显示为整个数据的窗口,请将最后一个命令更改为以下内容:

>>> Plotter.plot3D("Data Vector",data[0],True)

如果数据集具有两个以上的维度。绘图仪将自动选择用于生成曲面打印的前两个尺寸。如果数据集只有一个维度,它仍然可以工作,但绘图仪将自动切换到允许绘制一系列一维数据集的不同使用模式(请参阅称为一维绘图的部分)。