我知道编辑这个网站吗?

2014-12-10 - ImgLib2 发布

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

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

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

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

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

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

  • 所有@Deprecated方法和类已被删除。
  • 所有元数据处理(之前的imglib2-meta子项目)都被移至imglib2-roi中。从ImgLib2核心,类AnnotatedSpaceAbstractAnnotatedSpaceAxis被移至imglib2-algorithm
  • 当前的 ROI 形式表示被认为不够稳定,无法在版本中包含。 net.imglib2.roinet.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.constantnet.imglib2.sampler.specialConstantImgConstantRandomAccessible等)。现在可以通过net.imglib2.util.ConstantUtils类和Views实现类似的功能。

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

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