跳转到主要内容

STScI校准流程中使用的工具和算法

项目描述

STCAL

Documentation Status

CI

codecov

STScI校准算法和工具。

STScI Logo

[!IMPORTANT] STCAL需要Python 3.10或更高版本以及C编译器以依赖项。

[!IMPORTANT] 已测试并支持Linux和MacOS平台。目前不支持Windows。**

[!WARNING] 由于缺少依赖项opencv-python的稳定构建,在MacOS Mojave 10.14上安装将失败。]

STCAL 旨在用作校准管道软件的支持包,例如 JWSTRoman 校准管道。由于它也打算被多个校准管道重复使用,因此 STCAL 是一个独立的包。尽管它打算作为校准管道的支持包,但它也可以作为独立的包安装和使用。这可能会使使用变得难以管理,因为通过校准软件使用 STCAL 更容易。独立安装的主要用例是开发目的,例如错误修复和功能添加。当安装依赖于 STCAL 的校准管道时,此包将作为依赖项自动安装。

安装

将最新版本的 stcal 发布版安装到新的虚拟环境或 conda 环境中最简单的方法是

pip install stcal

详细安装

可以通过 pipstcal 包及其依赖项安装到虚拟环境或 conda 环境中。我们建议为每个安装,首先创建一个仅安装 Python 的新环境,然后将 stcal 包及其依赖项安装到该裸环境中。如果使用 conda 环境,请首先确保您已安装了最新版本的 Anaconda 或 Miniconda。如果需要,您可以创建多个环境,以便在不同的 stcal 包版本之间切换(例如,发布版本与当前开发版本)。

在所有情况下,安装通常是一个 3 步过程

  • 创建 conda 环境
  • 激活该环境
  • 将所需版本的 stcal 包安装到该环境中

以下将详细介绍如何进行不同类型的安装,包括标记发布版和开发版本。请记住,所有 conda 操作都必须在 bash/zsh shell 中执行。

安装最新发布版

您可以通过 pip 安装最新发布版本。在 bash/zsh shell 中

conda create -n <env_name> python
conda activate <env_name>
pip install stcal

您也可以安装特定版本,例如 stcal 1.3.2

conda create -n <env_name> python
conda activate <env_name>
pip install stcal==1.3.2

从 Github 安装开发版本

您可以从 Github 的 master 分支安装最新开发版本(未经充分测试)

conda create -n <env_name> python
conda activate <env_name>
pip install git+https://github.com/spacetelescope/stcal

为开发者安装

如果您想能够使用 stcal 包对源代码进行修改和测试,执行此操作的高级步骤是首先使用上述相同的过程创建 conda 环境,然后在那个环境中安装您的个人代码副本覆盖原始代码。同样,这应该在单独的 conda 环境中完成,不要与您可能已经安装的带有 stcal 包发布版本的任何现有环境混用。

像往常一样,前两个步骤是创建和激活环境

conda create -n <env_name> python
conda activate <env_name>

要将您的代码副本安装到该环境中,您首先需要将 stcal 仓库 fork 并克隆

cd <where you want to put the repo>
git clone https://github.com/spacetelescope/stcal
cd stcal

注意:python setup.py installpython setup.py develop 命令不起作用。

从您的本地签出副本安装为“可编辑”安装

pip install -e .

如果您想运行单元测试或回归测试以及/或构建文档,请确保安装这些依赖项

pip install -e ".[test]"
pip install -e ".[docs]"
pip install -e ".[test,docs]"

您的开发环境中还需要其他有用的包吗?

pip install ipython jupyter matplotlib pylint ipdb

贡献和反馈

我们欢迎对该项目的贡献和反馈。请按照 贡献指南 提交问题或拉取请求。

我们致力于通过遵守 行为准则 为所有用户提供一个欢迎的社区。

如果您对软件有任何疑问或关注,请在 https://github.com/spacetelescope/stcal/issues 中提出问题。

单元测试

单元测试可以通过pytest运行。在您的本地stcal仓库的顶级目录下

pip install -e ".[test]"
pytest

需要并行化您的测试运行覆盖所有可用核心吗?

pip install pytest-xdist
pytest -n auto

支持