跳转至

利用 IDL 8.5.1 的 HTML 功能创建更丰富的 Jupyter Notebook

原文链接: https://www.nv5geospatialsoftware.com/Learn/Blogs/Blog-Details/create-richer-jupyter-notebooks-with-html-from-idl-851

14188 文章评分:

5.0

利用 IDL 8.5.1 的 HTML 功能创建更丰富的 Jupyter Notebook

Jim Pendleton 2015年12月3日,星期四

即将发布的 IDL 8.5.1 热修复不仅包含针对 IDL 8.5 中问题的错误修复。

它还包含了一些可能会吸引您注意的新功能。

在 IDL 8.5 中,引入了 Python 桥接器,以实现 IDL 与 Python 之间的无缝互操作。

为了增强此功能,iPython Notebook 内核 也同时发布。在之前的博客文章中,我讨论了一些将图形动画插入 Notebook 的技巧。

IDL 8.5.1 为 Jupyter 界面增加了一项新功能,允许 IDL 程序员直接将 HTML 注入到 Jupyter 网页中。

这为 IDL 用户打开了一个充满创意可能性的新世界。

之前,从 IDL 输出到 Jupyter notebook 的内容,要么是 IDL 的 Direct GraphicsIDLgrBuffer 对象生成的图形形式,要么是通过诸如 PRINTHELP 等例程发送到标准输出流的纯文本输出形式。

任何试图通过 PRINT 发送希望被浏览器解析的 HTML(例如 )的尝试,都会在传递过程中被转义。结果会在浏览器中显示字符串字面量,而不是预期的解析结果。

在 IDL 8.5.1 中,增加了一个新的解析步骤,它会识别任何标准输出字符串开头处的""字符串,并会跳过字符转义的步骤,将字面量直接传递给浏览器。该标签必须使用小写字符。

启动一个 Jupyter IDL notebook,并输入

print, 'This is not a bold statement.'

print, '<html><em>But this is a bold statement.</em></html>'

任何有效的 HTML 都是可接受的。例如,您可以直接从 IDL 代码将 JavaScript 写入浏览器。

字符串不会跨多个 PRINT 语句累积。任何您希望被当作 HTML 字面量处理的、通过单个 PRINT 写入的单个字符串,都应使用"..."标签进行界定。

IDL 和桥接器的字符串解析不会执行任何额外的 HTML 验证,也不会警告您语法无效,但目标浏览器在尝试解析该字符串时可能会。

使用 SWIR 区分土壤与衰败冠层植被 利用地理空间工具进行医学图像分析