跳转到内容

MINC/教程/Python 示例

来自维基教科书,开放的书籍,开放的世界

Hello World 的 pyminc 版本。

[编辑 | 编辑源代码]

秉承其他关于如何使用 MINC 工具包进行编程的教程,这里是一个简单的例子,演示如何打开一个体积,为每个体素加一,然后再次写入。这是 Python,代码非常简洁!

#!/usr/bin/env python
from pyminc.volumes.factory import *
from numpy import *
import sys

if __name__ == "__main__":

    # get the input file
    infile = volumeFromFile(sys.argv[1])
    # get the output file using the same dimension info as the input file
    outfile = volumeLikeFile(sys.argv[1], sys.argv[2])

    # add one to the data 
    outfile.data = infile.data + 1

    # write out and close the volumes
    outfile.writeFile()
    outfile.closeVolume()
    infile.closeVolume()

代码的功能如下。前面的部分是不同模块的导入 - 唯一非标准的模块是 pyminc.volumes.factory。几乎所有 pyminc 体积实例的创建都是通过一组工厂方法完成的。它们是

函数 描述
volumeFromFile 从现有文件打开 MINC 体积 - 用于读取现有数据。
volumeLikeFile 从现有文件创建一个新的 MINC 体积 - 用于写入数据。
volumeFromInstance 从现有实例(Python 对象)创建一个新的 MINC 体积。
volumeFromDescription 通过指定尺寸、大小、起始位置等来创建一个新的 MINC 体积。

代码的下一行将输出文件的数据赋值为输入文件的数据加 1。每个 pyminc 体积都具有一个数据属性,它是一个 numpy 数组。请注意,直到访问数据属性时才实际读取数据。最后的部分将输出文件写入磁盘并关闭这两个体积。

华夏公益教科书