Imagej 互操作性:将新的 ImgPlus 转换为旧的 ImagePlus

Imagej interoperability: convert new ImgPlus to old ImagePlus

我需要转换新的net.imglib2.img.Img to the old ij.ImagePlusclass,因为有一些旧的ImageJ1.x我想用

Supposedly, I can use ImageJFunctions.wrap(),

static <T extends NumericType<T>> ij.ImagePlus net.imglib2.img.display.imagej.ImageJFunctions.wrap(RandomAccessibleInterval, String)

因为 net.imglib2.img.Img 继承自 RandomAccessibleInterval

我遇到的问题是无法导入 ImageJFunctions

代码:

import net.imglib2.img.display.imagej.ImageJFunctions;

错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem:
ImageJFunctions cannot be resolved to a type

在我的 pom.xml 中,我使用 org.scijava<version>26.0.0</version>

ImageJFunctions 住在 the imglib2-ij repo,因此您需要将此依赖项添加到您的 pom:

<dependency>
    <groupId>net.imglib2</groupId>
    <artifactId>imglib2-ij</artifactId>
</dependency>

编辑:

如果您将 pom-scijava 用作 parent,则可以将版本留空。

Mis-read 部分问题,抱歉。您可能不需要以下信息,但为了完整起见,我还是保留了这些信息,希望没关系。

如果您还没有,您可能还需要 add the scijava maven repository:

<repositories>
    <repository>
        <id>scijava.public</id>
        <url>https://maven.scijava.org/content/groups/public</url>
    </repository>
</repositories>

您可以在此处检查可用版本,尽管使用 pom-scijava 作为 parent pom 通常很方便。