1.算法功能简介

坏条带的由来:2003年5月31日,Landsat-7ETM+机载扫描行校正器(SLC) 故障,导致此后获取的影像出现了数据条带丢失,严重影响了Landsat ETM遥感影像的使用。此后Landsat 7 ETM SLC-on是指2003.5.31日Landsat 7SLC故障之前的数据产品,Landsat 7 ETMSLC-OFF则是故障之后的数据产品。

目前我们PIE SDK支持影像坏线修复,并提供了相应的算法。

2.算法功能实现说明

2.1. 实现步骤

第一步

算法参数设置

第二步

算法执行

第三步

结果显示

2.2. 算法参数

C#算法DLL

PIE.CommonAlgo.dll

C#算法名称

PIE.CommonAlgo. BadLineFixAlgo

参数结构体

BadLineFix_Exchange_Info

参数说明

FixedOnSourceFile

bool

是否在原数据上修复

InputFilePath

String

输入文件的路径

OutputFilePath

String

输出文件的路径

InputRasterDataset

IRasterDataset

输入数据集

OutputRasterDataset

IRasterDataset

输出数据集

HorizontalBadLineIndexs

IList<int>

水平方向数据坏线所在的行号集合

HorizontalFixedType

int

水平方向坏线修复方法:0,表示以坏线的上行正确值修复;1,以坏线的下行正确值修复;2,表示以坏线的上下行的平均值进行修复

VerticalBadLineIndexs

IList<int>

垂直方向数据坏坏线所在的列号集合

VerticalFixedType

int

垂直方向坏线修复方法:0,表示以坏线的上列正确值修复;1,以坏线的下列正确值修复;2,表示以坏线的上下列的平均值进行修复

2.3. 示例代码

数据路径

百度云盘地址下/ PIE示例数据/栅格数据/ 07.GF4 / GF4_B1_E114.1_N20.6_20180916_L1A0310000011.tiff

视频路径

百度云盘地址下/PIE视频教程/10.算法调用/其他工具/影像坏线修复算法.avi

示例代码

    /// <summary>
///坏线修复功能
/// </summary>
private void Test_RepairBadLineAlgo()
{
string filePath1 = @"D:\MapData\Raster\坏线修复测试数据\GF4_B1_E114.1_N20.6_20180916_L1A0310000011.tiff";
string outFilePath1 = @"D:\MapData\Raster\坏线修复测试数据\temp\bandLineTest2.tif";
//垂直方向坏线位置
IList<int> bandVerticalLineIndexs = new List<int>();
bandVerticalLineIndexs.Add();//1116列
bandVerticalLineIndexs.Add();
//水平方向坏线位置 水平没有坏线可以不写
//IList<int> bandHorizonLindIndexs=new List<int>();
//bandHorizonLindIndexs.Add(329);
PIE.CommonAlgo.BadLineFix_Exchange_Info info = new PIE.CommonAlgo.BadLineFix_Exchange_Info();
info.InputFilePath = filePath1;
info.OutputFilePath = outFilePath1;
//如果设置了InputRasterDataset执行结果会输出一个栅格数据集 通过获取算法参数的OutputRasterDataset
//info.InputRasterDataset = DatasetFactory.OpenRasterDataset(filePath,OpenMode.ReadOnly);
//info.HorizontalBadLineIndexs = bandHorizonLindIndexs;
//info.HorizontalFixedType = 2;//水平方向修复方法
info.VerticalBadLineIndexs = bandVerticalLineIndexs;
info.VerticalFixedType = ;//垂直方向修复方法
info.FixedOnSourceFile = false;//是否在原数据上修复 PIE.SystemAlgo.ISystemAlgo algo = PIE.SystemAlgo.AlgoFactory.Instance().CreateAlgo("PIE.CommonAlgo.dll", "PIE.CommonAlgo.BadLineFixAlgo");//算法执行
algo.Params = info;
bool result1 = PIE.SystemAlgo.AlgoFactory.Instance().ExecuteAlgo(algo);
}

2.4. 示例截图

修复前栅格图像中第1116和1117两列有坏线:

修复后:

PIE SDK影像坏线修复的更多相关文章

  1. PIE SDK影像格式转换

      1.算法功能简介 影像格式转换可以实现通用栅格数据格式之间的自由转换.可自由转换的格式包括: GeoTIFF. ERDAS img. ENVI img. PIE支持算法功能的执行,下面对影像格式转 ...

  2. PIE SDK影像快速拼接

    1.算法功能简介 快速拼接是对若干幅互为邻接的遥感数字图像拼在一起,构成一幅整体影像的技术过程.PIE支持快速拼接算法功能的执行,下面对快速拼接算法功能进行介绍. 2.算法功能实现说明 2.1 实现步 ...

  3. PIE SDK 文章目录索引

    1.PIE SDK介绍 1.1.  PIE软件介绍 1.2.  PIE SDK介绍 1.3.  PIE支持项目介绍 1.4.  PIE.NET-SDK插件式二次开发介绍 1.5.  PIE.NET-S ...

  4. PIE SDK线元素的绘制

    1. 功能简介 在数据的处理中会用到线元素的绘制,目前PIE SDK支持ILineSymbol的线元素的绘制,LineSymbol对象是用于修饰线状对象的符号,它包括CartographicLineS ...

  5. PIE SDK Command&&Tool工具命令一览表

    PIE SDK Command&&Tool工具命令一览表 编号 模板 名称(中文) Command&Tool 程序集 备注 1 数据管理 加载栅格数据 PIE.Controls ...

  6. PIE SDK打开网络地图数据

    1. 数据介绍 网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展. 目前PIE SDK支持百度地图.谷歌地图.高德地图.天地图.Bing地图.ArcGIS ...

  7. PIE SDK矢量数据的读取

    1.功能简介 GIS将地理空间数据表示为矢量数据和栅格数据.矢量数据模型使用点.线和多边形来表示具有清晰空间位置和边界的空间要素,如控制点.河流和宗地等,每个要素被赋予一个ID,以便与其属性相关联.栅 ...

  8. PIE SDK矢量数据简单渲染

    1. 功能简介 PIE SDK对数据的符号化分为矢量数据渲染和栅格数据渲染两大类. 目前PIE SDK中针对矢量数据渲染包括简单渲染.唯一值渲染.分级渲染.自定义渲染:针对栅格数据渲染包括拉伸渲染.R ...

  9. PIE SDK矢量自定义渲染

    1. 功能简介 PIE SDK中关于矢量渲染提供了多种方案,包括简单渲染.分级渲染.唯一值渲染,这几种渲染方式具有一定的通用性,可以满足用户绝大多数的需求. 当面对复杂的业务,当前渲染方案无法满足用户 ...

随机推荐

  1. CBV加装饰器解决登录注册问题和 <<中间件>>

    文本目录 CBV加装饰器解决登录注册问题 一:什么是中间件 二:中间件有什么用 三:自定义中间件 四:中间件应用场景 五:SCRF TOKEN跨站请求伪造 六: 其他操作 CBV加装饰器解决登录注册问 ...

  2. Swig在Mac OS X上的安装

    网上有很多类似文章介绍Swig怎么在Mac OS X上安装和配置,一般来说就是: 下载pcre,configure & make & make install 下载swig,confi ...

  3. [GO]channel实现数据交互

    package main import ( "fmt" "time" ) func main() { ch := make(chan string)//创建ch ...

  4. Android dex分包方案和热补丁原理

    一.分包的原因: 当一个app的功能越来越复杂,代码量越来越多,也许有一天便会突然遇到下列现象: 1. 生成的apk在2.3以前的机器无法安装,提示INSTALL_FAILED_DEXOPT 2. 方 ...

  5. pig配置

    下载Apache Pig 首先,从以下网站下载最新版本的Apache Pig:https://pig.apache.org/ 步骤1 打开Apache Pig网站的主页.在News部分下,点击链接re ...

  6. Python之模块一

    1 >模块介绍: 模块,用一坨代码实现了某个功能的代码集合,类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的          重用性和代码间的吻合, ...

  7. Ansible应用领域

    1.Ansible应用领域 Ansible的编排引擎可以非常出色地完成配置管理.流程控制.资源部署等多方面工作.与其他IT自动化产品相比较,Ansibe为你提供一种不需要安装客户端软件.管理简单.功能 ...

  8. nginx中级应用-续

    1.server下配置的每个location,都需要有自己的一套代理配置 即要么加入: root  某个目录 要么加入 proxy_pass 某个地址;  proxy_redirect off; # ...

  9. Linq实战 之 DataSet操作详解

    Linq实战 之 DataSet操作详解  一:linq to Ado.Net 1. linq为什么要扩展ado.net,原因在于给既有代码增加福利.FCL中在ado.net上扩展了一些方法. 简单一 ...

  10. 提高SQL Server数据库效率常用方法

    1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大 ...