我知道编辑这个网站吗?

2017-12-04 - 斐济 + KNIP 黑客马拉松

从2017年12月4日星期一到2017年12月15日星期五,§§0§§§在德国斯顿的§§0§§§中接待了约50名开发人员,进行hackathon开发ImageJ2Fiji核心基础设施和plugins

https://gitter.im/fiji/hackathon_dd_2017

自愿马拉松日历

https://tinyurl.com/ybjcq9qw

黑客马拉松谷歌文档

https://docs.google.com/document/d/1h4uCt4PAEdeGQQwwVZC73o_Anq6-AI2KZiSzxY8kWng/edit

Twitter 上的黑客马拉松 (#hackdd17)

https://x.com/hashtag/hackdd17?vertical=default&src=hash

技术讨论

N5,不是HDF5

有关N5的更多信息,请查看github存储库here

  • 感觉像 HDF5,但将块存储在文件系统中的单独文件中。
  • 是一个Java库,但Constantin Pape已经编写了它的C++/python版本:z5(也匹配“zarr”库),https://github.com/constantinpape/z5
  • 属性存储 额外的 JSON 文件中
  • 讨论:我们现在是否应该定义数据如何存储的标准,以防止出现HDF5那样的不同风格的动物园?
    • how to do time series where each timestep / angle could have different image size
    • if we want a general “N5 viewer” for images, we’d have to add calibration data
    • put this information around the N5 dataset, because it behaves more like a dataset within an H5 file.
    • Perhaps make it versioned? Because a duck is not always a duck… -为什么是另一种文件格式?
    • parallel writes (awesome for clusters with shared filesystem)
    • there is a special type for label blocks
    • blocks can have a halo
    • the block grid does not need to be filled dense, some blocks could be missing
    • couldn’t this just be another flavor of HDF5?
  • 对同一块的工件写入是否被某种锁定阻止?
  • HDF5团队应该参与讨论,从他们的错误中汲取教训 - 有很多关于写入HDF5文件的信息
  • 尝试将N5数据集写入FUSE文件系统/文件???这可以解决许多小文件问题吗?

大数据查看器

  • BigDataViewer 有一个用于 JavaFx 的分支。 [1]
  • BigDataViewer 将被拆分为 UI 独立部分,以及 Swing UI。这使得合并 BigDataViewer 的 JavaFx 和 Swing 版本成为可能。

我们讨论了 Bdv 设计的改进机会:

  • Professionalbdv的核心,制定不那么智能,更可预测。
  • 使用不同UI工具包的Bdv句柄,
  • 使用属性模式进行设置,例如活动源…
  • 主动添加/删除视图
  • 更新视图(强制存储删除) - 用于BDV添加/删除视图
  • 访问颜色设置、重叠渲染…
  • 允许地形(外部可以)
  • 考虑使用ARGBType之外的类型的累加器/复合器
  • 轻松取消或替换对话框
  • 轻松移至覆盖层
  • BdvVistools 显示转换器/易失性函数

矩阵和维护库

黑客马拉松进展

ilastik - (多米尼克·库特拉,卡斯滕·豪博尔德)

  • 开发了一个 ImageJ2 插件,允许从发射的工作 ilastik 处理接收流式传输原始数据和预测:https://github.com/ilastik/org.ilastik.bdvsource
  • 与 Philipp Hanslovsky 讨论使用 N5 格式进行通信的好处
    • the label block format together with the fact that datasets can be stored sparse could be a great foundation for label storage / communication
    • played around with Constantin Pape’s C++/Python N5 reader as available format on the ilastik server
    • noticed that the only thing needed to serve a N5 dataset on the web is to serve the directory contents. Philipp wrote a N5 REST reader for BigCAT to talk to the ilastik server that way
  • 解决了 ilastik server 中的一些服务器问题
  • 讨论了 Matthias Arzt 的 LabKit 和 ilastik-backend 之间可能的接口,用于在 ImageJ/plugins/bdv 中进行爱情分割

SciView -(凯尔·哈林顿、乌尔里克·冈瑟、柯蒂斯·鲁登)

  • 适用于设置于所有网络的斐济更新站点的自动配置
  • imglib2 图像作为 3D 对象的纹理
  • imagej2 风格的日志记录
  • SciView 插件的公开可用性

ImageJ服务器-(Curtis Rueden、Petr Bainar)

  • 讨论了 ImageJ/Fiji 架构的设计及其未来的示例
  • 确定最紧迫的问题,在GitHub上提出,并集思广益可能的解决方案
  • 利用 Angular 框架开发具有增强 UI 的新 JavaScript 客户端
  • 向社区演示新客户端
  • 鼓励社区成员使用注释来指定 SciJava 插件可以是否无头运行

SciJava - (Curtis Rueden)

ImageJ Ops - (Curtis Rueden)

ImageJ 遗产 - (Curtis Rueden)

ImageJ 启动器 - (Curtis Rueden)

  • 合并了 AppVeyor 和 Travis CI 的 Klim Kolyvanov 的 CI 配置 (imagej/imagej-launcher@e501d695)。
  • 对启动器与 Java 9 配备使用所需的最小更改进行了修改(imagej/imagej-launcher#49)。

    生物格式 - (Curtis Rueden)

  • 为了回答 Klim KolyvanovUlrik Günther 的问题,提交了 PR,促进高级 Bio-Formats API 能够直接接受文件模式 (imglib/imglib2-ij#12)。
  • 修复了 Fiji 的新和现有的 Java-8 安装,很快与 Bio-Formats 正常工作(1)。这需要一个脚本,指示 Java 6 版本 Fiji 的用户启用 Fiji-Legacy 更新站点,并指示新的 Java 8 版本 Fiji 的用户启用 Java-8 更新站点。

ClearControl / ClearVolume / ClearCL(罗伯特·哈斯,卢瓦克·罗耶)

  • Royer 等人进行图像质量/焦点测量。纳特。生物技术。 (2016) 在初步更新网站上以 Fiji plugin 形式提供
  • 增加了对区域、组织深度(环)或平铺在整个图像上的图像质量测量的支持
  • 修复了有关发现使用 ClearCLs分发机制的 OpenCL 文件的错误
  • 改编ClearControl软件在另一台工作站上运行
  • 恢复了控制滤光轮和变形镜的代码
  • 合并从Max到ClearControl-lightsheet的更改,准备他的时间步进程序

ImgLib2 IJ - (马蒂亚斯·阿兹特)

Labkit - (马蒂亚斯·阿兹特)

ImgLib2 ROI -(Alison Walter、Tobias Pietzsch、Curtis Rueden)

  • 与以下内容相关的变更:imagej/imagej-omero#69
    • Improved transform operation for ROIs
    • Fixed boundary computation for transformed ROIs
    • Added knownConstant to ROIs for determining if a ROI will always return false or true
    • Removed type parameter for wrappers in Masks static methods, BoolType by default

      ImageJ-OMERO -(艾莉森·沃尔·特、乔什·摩尔)

-添加了集成测试结构(imglib/imglib2-roi#29

  • 开始添加集成测试(kivy/pyjnius#316
  • 讨论了 ROI 支持和 ROI 转换

BigCAT(菲利普·汉斯洛夫斯基)

  • relevant bigcat branch
  • 当地绘画功能
    • Multi-scale WIP
    • Used for dense annotations but can be used for label creation for classifier training
  • 添加了 N5 和 HDF5 的打开对话框
    • Auto-discovery
    • Channels
    • Time series
    • multi-scale
    • User guidance in case of invalid input
  • 创建了一个模拟服务器以通过http Rest api访问本地文件系统
  • 确认的时间序列和多通道功能
  • 连接到 ilastik (Dominik Kutra、Carsten Haubold)
  • 尝试重新引入 3D 渲染场景以及David Hörl(WIP)

scyjava 和 imglyb(Philipp Hanslovsky、Curtis Rueden)

  • 计划在 imglyb 中分离 Java 和 Python 代码
  • 围绕pyjnius创建了scyjava Python包装器,以允许运行时解析尚未位于类路径上的jar/类。
    • For now: Facilitiate groovy grape, might switch to more generic scijava-grab library later on.
    • Removes fat jar requirement of imglyb and will make it easier to distribute
    • Currently WIP as jnius.autoclass does not accept custom class loaders as parameter: (imagej/imagej-omero#70)

      图像序列配准插件 (Christian Tischer)

  • 编写了一个用于图像序列注册的ImageJ2插件
  • github上的来源代码
  • 通过新的斐济更新站点EMBL-CBA安装
  • 编写代码方便添加其他注册方式
  • 当前功能
    • Accepts N-dimensional input, allowing the user to select which axes to register
    • Translational registration using phase-correlation
    • Translational and rotational registration, using phase-correlation for translation and “brute-force” testing of all rotations within user specified range
    • Region of interest selection

      乳齿象(Jean-Yves Tinevez、Tobias Pietzsch)

  • 用户指定的标签
  • 可编辑的TrackScheme图表
  • 修改了动作处理以允许切换键盘映射
  • 导航到分支/父/操作兄弟
  • 首选项对话框
    • Render settings for BDV view
    • Keymap configuration
  • 代码清理

TrackMate 和 MaMuT(Ulrik Günther、Kyle Harrington、Jean-Yves Tinevez)