持续变化检测的 Python 实现
项目描述
PyCCD - Python 连续变化检测
pyccd 从 Landsat 时间序列数据创建变化段
使用 PyCCD
>>> import ccd
>>> results = ccd.detect(dates, blues, greens, reds, nirs, swir1s, swir2s, thermals, qas, prev_results)
>>>
>>> type(results)
<class 'dict'>
>>>
>>> results
{algorithm: 'pyccd:x.x.x',
processing_mask: [bool, bool, ...],
snow_prob: float,
water_prob: float,
cloud_prob: float,
change_models: [
{start_day: int,
end_day: int,
break_day: int,
observation_count: int,
change_probability: float,
curve_qa: int,
blue: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float},
green: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float},
red: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float},
nir: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float},
swir1: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float},
swir2: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float},
thermal: {magnitude: float,
rmse: float,
coefficients: (float, float, ...),
intercept: float}}
]
}
可以使用字典覆盖默认处理参数(有关有效键,请参阅 parameters.yaml):
>>> import ccd
>>> params = {'QA_BITPACKED': False,
'QA_FILL': 255,
'QA_CLEAR': 0,
'QA_WATER': 1,
'QA_SHADOW': 2,
'QA_SNOW': 3,
'QA_CLOUD': 4}
>>> results = ccd.detect(dates, blues, greens, reds, nirs, swir1s, swir2s, thermals, qas, params=params)
安装
系统要求 (Ubuntu)
- python3-dev
- gfortran
- libopenblas-dev
- liblapack-开发
- 图形可视化
- python-virtualenv
系统要求(Centos)
- python3-开发
- gfortran
- blas-dev
- lapack-开发
- 图形可视化
- python-virtualenv
强烈建议在虚拟环境中进行所有开发和测试。
user@dev:/home/user/$ mkdir pyccd
user@dev:/home/user/$ cd pyccd
user@dev:/home/user/pyccd$ virtualenv -p python3 .venv
user@dev:/home/user/pyccd$ . .venv/bin/activate
(.venv) user@dev:/home/user/pyccd$
安装
$ pip install -e .[test,dev,docs,deploy,profile]
测试
$ pytest
$ pytest --profile
$ pytest --profile-svg
# pytest-watch
$ ptw
制定目标
$ make build
$ make tests
$ make docs
$ make deploy
$ make profile
剖析
装饰要分析的函数@profile
并运行make profile
。在提交代码之前移除装饰。
贡献
在提交到此存储库之前,请运行以下命令。
git config --local commit.template .gitmessage
这会将 LCMAP 提交模板添加到git commit
.
jira/lcmap-xxxx: Title
Description
贡献是最受欢迎的。
- 打开一个问题并讨论更改。
- 从主要版本分支并在问题后命名
- 吉拉/lcmap-xxxx
- 为您的更改编写自动化测试并确保所有测试都通过。
- 更新项目中的文档。
- 向适当的分支提交拉取请求(例如 1,x)
版本
PyCCD 之前遵循 MAJOR.MINOR.PATCH.LABEL 语义版本控制,但已更改为基于日期的语义版本控制,因此:YYYY.MM.DD[.HH.MM.SS][-label]。
PyCCD 的版本由ccd/version.py/__version__
属性定义。
参考
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
lcmap-pyccd-2021.7.19.tar.gz
(32.9 kB
查看哈希)
内置分布
lcmap_pyccd-2021.7.19-py3-none-any.whl
(31.2 kB
查看哈希)
关
lcmap_pyccd -2021.7.19-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 605230eaaeccc6d7273dc7d0675272e309819b58e70376e7f55a83dafc1fab41 |
|
MD5 | 81da25c5c6e831d6b8a72c891555a1d5 |
|
布莱克2-256 | 9e932ecbadaa8713491feb48d08014e29490e475bf4896e230bc5dac1e08146b |