我知道编辑这个网站吗?

2014-12-10 - ImgLib2 发布

我们很高兴地宣布ImgLib2核心库的第一个稳定发布版本!

此版本是最近10月13日至17日周在麦迪逊举行的第LOCIhackathon会议的核心目标。

ImgLib2 核心库现在为 available on Maven Central,所有 ImgLib2 项目的 source code 为 accessible on GitHub。

与 SciJava 和 ImageJ2 项目一样,ImgLib2 版本现在遵循 semantic versioning 方案。此外,项目和git存储库结构也发生了变化。imglib 存储库的主要为 split into multiple repositories,其命名与接口名称和 java 包邻居一致。现在使用非中继版本来连接项目,以实现reproducible builds。

相关项目结构的更多技术细节,请参见第§§0§§§页。

在发布测试之前,我们对代码进行了最后一刻的几项更改:

  • 所有@Deprecated方法和类已被删除。
  • 所有元数据处理(之前的imglib2-meta子项目)都被移至imglib2-roi中。从ImgLib2核心,类AnnotatedSpace、AbstractAnnotatedSpace和Axis被移至imglib2-algorithm。
  • 当前的 ROI 形式表示被认为不够稳定,无法在版本中包含。 net.imglib2.roi和net.imglib2.labeling已经移至新的imagej-common子项目,该子项目目前仍处于测试阶段。
  • net.imglib2.multithreading包已移至imagej-common并已弃用。
  • 我们合并了 Albert Cardona 和 Stephan Preibisch 关于“分数”类型的作品。 ImgLib2 NativeTypes将像素映射到基元阵列中,其中映射通常是稀疏的。例如,UnsignedByteType像素映射到基元byte[]一个字节。对于小数据类型,这个映射可能是非整数的,例如Unsigned12BitType将像素映射到long[]中,其中每个像素占用12/64长。
  • 改装的通用参数从Projector<A,B>接口中删除,现在预算下Projector。投影仪的实现也相应地得到了​​修复。
  • 一些框架被重命名或移动到更合适的位置:
    • Extended[Real]RandomAccessibleInterval moved to the net.imglib2.view package.
    • RandomAccessibleOnRealRandomAccessible moved to the net.imglib2.view package.
    • Binning moved to the net.imglib2.util package.
    • The contents of package net.imglib2.collection (KDTree etc.) moved to the net.imglib2 package.
    • net.imglib2.concatenate.Util was renamed to net.imglib2.concatenate.ConcatenateUtils.
    • Bounded moved to the net.imglib2.outofbounds package.
    • The class NearestNeighborInterpolator from package net.imglib2.interpolation.neighborsearch was renamed to NearestNeighborSearchInterpolator (to avoid confusion with the net.imglib2.interpolation.randomaccess.NearestNeighborInterpolator class).
    • The Pair interface moved to the net.imglib2.util package.
  • net.imglib2.util.Util类已清理:
    • Methods getTypeFromRandomAccess() and getTypeFromRealRandomAccess() were removed. We considered them too dangerous because the RandomAccess may be pointing to invalid position.
    • Unused methods setCoordinateRecursive() and getRecursiveCoordinates() were removed.
    • Some variants of computeLength() and computeDistance() were removed. Use methods distance() and length() from net.imglib2.util.LinAlgHelpers instead.
    • Methods computeMedian(), computeAverage(), etc. were renamed to median(), average(), etc.
  • 这些未使用的类已被删除:
    • IterableIntervalSubsetT
    • Triple
    • RealPositionableFloorPositionable
    • RealPositionableRoundPositionable
    • ImgTranslationAdapter
  • 删除了底盘net.imglib2.img.constant和net.imglib2.sampler.special(ConstantImg、ConstantRandomAccessible等)。现在可以通过net.imglib2.util.ConstantUtils类和Views实现类似的功能。

所有 ImgLib2 子项目都已适应这些更改并发布(在某些情况下作为新的测试版本)。

急待完成的一件事必须将这些新的 ImgLib2 版本上传到 ImageJ 和 §§6§§§ update sites,使 ImageJ 和 Fiji 的用户可以使用它们。此更改相当复杂,因为有很多下游代码受到 API 更改的影响。但我们希望在今年年底向用户提供新的 ImgLib2。请继续关注!