在python中使用usgs isis的工具包。

pysis的Python项目详细描述


https://badge.fury.io/py/pysis.svghttps://travis-ci.org/wtolson/pysis.svg?branch=masterhttps://pypip.in/d/pysis/badge.png

在python中使用usgs isis的工具包。

如何安装

在命令行:

$ easy_install pysis

或者,如果安装了virtualenvwrapper:

$ mkvirtualenv pysis
$ pip install pysis

依赖性

要使用isis命令,必须首先在 你的机器。请参阅ISIS 3installation guide以获取进一步的说明。 记住设置你的环境变量(参见USGS ISIS指南的第4步) Pysis知道你的安装在哪里。

快速入门指南

如何使用pysis在python中编写isis 3代码。

在命令行使用isis 3,您可能希望运行以下基本 命令(Messenger任务中MDIS相机的示例):

mdis2isis from=filename.IMG to=filename.cub
spiceinit from=filename.cub
mdiscal from=filename.cub to=filename.cal.cub

使用pysis的语法是:

from pysis.isis import mdis2isis, spiceinit, mdiscal
from pysis.util import file_variations

def calibrate_mids(img_name):
    (cub_name, cal_name) = file_variations(img_name, ['.cub', '.cal.cub'])

    mdis2isis(from_=img_name, to=cub_name)
    spiceinit(from_=cub_name)
    mdiscal(from_=cub_name, to=cal_name)

当我们调用命令时,您会注意到我们使用了 from是python中的保留字。

数值和字符串参数

下面是pysis中maptemplate和cam2map命令的示例:

from pysis import isis

isis.maptemplate(map='MDIS_eqr.map', projection='equirectangular',
                 clon=0.0, clat=0.0, resopt='mpp', resolution=1000,
                 rngopt='user', minlat=-10.0, maxlat=10.0, minlon=-10.0,
                 maxlon=10.0)

isis.cam2map(from_=cal_name, to=proj_name, pixres='map',
             map='MDIS_eqr.map',defaultrange='map')

从isis命令获取值

pysis命令将以字节字符串的形式返回命令的stdout。如果命令 返回一个非零退出代码,将抛出一个 PROCESSRROR 。这个例子 命令使用getkey从ISIS多维数据集的标签接收值:

from pysis.isis import getkey

value = getkey(from_='W1467351325_4.map.cal.cub',
               keyword='minimumringradius', grp='mapping')

捕获处理错误

pysis支持捕获isis,处理如下错误:

from pysis.exceptions import ProcessError
from pysis.isis import hi2sis

try:
    hi2isis(from_=filein, to=fileout)
except ProcessError as e:
    print("STDOUT:", e.stdout)
    print("STDERR:", e.stderr)

使用isispool

的多处理isis命令

pysis具有内置的支持,可以简化多处理isis命令。运行 以上MDIS校准脚本针对多个进程中的多个图像 可以这样重写函数:

from pysis import IsisPool
from pysis.util import ImageName

def calibrate_mdis(images):
    images = [ImageName(filename) for filename in images]

    with IsisPool() as isis_pool:
        for filename in images:
            isis_pool.mdis2isis(from_=filename.IMG, to=filename.cub)

    with IsisPool() as isis_pool:
        for filename in images:
            isis_pool.spiceinit(from_=filename.cub)

    with IsisPool() as isis_pool:
        for filename in images:
            isis_pool.mdiscal(from_=filename.cub, to=filename.cal.cub)

当使用isispool时,我们无法确定将在哪个顺序中执行命令 因此,在移动到 下一个命令并创建一个新的isispool。

历史记录

0.6.0(2016-05-22)

  • 在映像构造函数中支持文件名。(谢谢@michaelaye)
  • 使用pvl进行标签解码。

0.5.2(2015-05-30)

  • 重新授权为BSD。

0.5.1(2015-05-18)

  • 添加对行注释的支持。
  • 在setup.py中修复包。(谢谢@michaelaye)

0.5.0(2015-04-18)

  • 添加对Python2.6/3.3/3.4的支持
  • 简化的命令api。
  • labels包现在共享json模块api。
  • 标签分析器现在完全符合pvl规范。
  • 添加标签编码器。

0.4.0(2015-03-21)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
无法在Netbeans 8.2 JDK8u231中创建java Maven项目(Web应用程序)   java如何以设定的时间间隔生成随机数?   java从socket和inputStream的慢速读取   spring SCORM:Java中基于Web的SCORM播放器   Java将函数传递给方法   java绑定通用服务及其实现和子类型   java如何在运行时从选择列表框中动态选择选项?爪哇硒   java Selenium WebDriver什么是“Selenium客户端和WebDriver语言绑定”   elasticsearch需要elasticsearch高级Java客户端更新ByQueryRequest API帮助   JAVA哈希表查找最大值   WSDL操作中的java soapAction属性为空   java访问封闭类或父类方法的一般方法   eclipse在java中运行带有SeleneTestCase的ANT。lang.NoClassDefFoundError   java Hazelcast不会在节点启动时填充ReplicatedMap   如何在Java中从excel中读取特定行?   html JAVA将本地时间(GMT+8)转换为UTC时间   java将自定义端点添加到Spring数据REST存储库中,并以大摇大摆的方式显示   java计算未来位置