clij / clij2

GPU-accelerated image processing for everyone
https://clij.github.io/clij2
Other
48 stars 14 forks source link

Reusable object classification #38

Closed tischi closed 3 years ago

tischi commented 3 years ago

@haesleinhuepf Could you point me to part of your code where you do the object classification in CLIJ? I was wondering whether we could factor this out into an own repository such that it becomes easier reusable, e.g. for feature tables generated with MorpholibJ and the annotations coming from somewhere else (e.g. the Segmentation Annotator). (cc @iarganda)

haesleinhuepf commented 3 years ago

Hey @tischi,

fantastic idea.

easier reusable, e.g. for feature tables generated with MorpholibJ

Yeah, you may want to check out the random-forest classifiers for tables. You can train them and apply them from imagej macro. B-) The underlying code lives in clijx-weka (just search for "table" on that page).

Let me know if I can help. I'm happy to make things easier accessible and reusable :-)

Cheers, Robert

tischi commented 3 years ago

Great! In fact already exactly the API I was hoping for! For testing, can I just import this repo via maven? https://github.com/clij/clijx-weka

tischi commented 3 years ago

Additional question: Is actually worth doing this on the GPU rather than using the conventional CPU based Weka? Just curious, I would probably anyway use your code for the sake of fostering collaboration.

haesleinhuepf commented 3 years ago

For testing, can I just import this repo via maven?

Yes, but also check for the right repository.

Is actually worth doing this on the GPU rather than using the conventional CPU based Weka?

This implementation is mostly executed on the CPU. The GPU version is not ready yet.

tischi commented 3 years ago

@haesleinhuepf

Just adding

            <groupId>net.haesleinhuepf</groupId>
            <artifactId>clij2_</artifactId>
            <version>2.2.0.19</version>

did not allow me to access the TrainWekaModel class.

When I also added this repo here as a dependency I got:

[ERROR] Failed to execute goal on project segmentation-annotator: Could not resolve dependencies for project de.embl.cba:segmentation-annotator:jar:0.1.0: Failed to collect dependencies at net.haesleinhuepf:clijx-weka_:jar:0.30.2.0: Failed to read artifact descriptor for net.haesleinhuepf:clijx-weka_:jar:0.30.2.0: Could not transfer artifact net.haesleinhuepf:clijx-weka_:pom:0.30.2.0 from/to clij (http://dl.bintray.com/haesleinhuepf/clij): Access denied to: http://dl.bintray.com/haesleinhuepf/clij/net/haesleinhuepf/clijx-weka_/0.30.2.0/clijx-weka_-0.30.2.0.pom , ReasonPhrase:Forbidden. -> [Help 1]

Can you help?

haesleinhuepf commented 3 years ago

Hey @tischi ,

according to the documentation the trainWekaModel function is part of clijx-weka_-0.30.2.0.jar.

Cheers, Robert

haesleinhuepf commented 3 years ago

Hey @tischi ,

I just discovered that bintray is down (earlier than I thought). See also discussion here.

This will take a couple of days to resolve. Thanks for the patience.

Cheers, Robert

tischi commented 3 years ago

Oh now, what a pain! Good luck finding a good alternative!

haesleinhuepf commented 3 years ago

Hi @tischi ,

would you mind testing if you can access clijx-weka 0.31.0.4?

<dependency>
  <groupId>net.haesleinhuepf</groupId>
  <artifactId>clijx-weka_</artifactId>
  <version>0.31.0.4</version>
</dependency>

It should come via maven central, you don't need to add a specific repository anymore. https://s01.oss.sonatype.org/#nexus-search;quick~clijx-weka

Thanks for your support!

Best, Robert

tischi commented 3 years ago

Almost I think:

[ERROR] Failed to execute goal on project segmentation-annotator: Could not resolve dependencies for project de.embl.cba:segmentation-annotator:jar:0.1.0: Failed to collect dependencies at net.haesleinhuepf:clijx-weka_:jar:0.31.0.4 -> net.haesleinhuepf:clij_:jar:1.8.0.4 -> net.haesleinhuepf:clij-core:jar:1.8.0.4: Failed to read artifact descriptor for net.haesleinhuepf:clij-core:jar:1.8.0.4: Could not transfer artifact net.haesleinhuepf:clij-core:pom:1.8.0.4 from/to clij (http://dl.bintray.com/haesleinhuepf/clij): Access denied to: http://dl.bintray.com/haesleinhuepf/clij/net/haesleinhuepf/clij-core/1.8.0.4/clij-core-1.8.0.4.pom , ReasonPhrase:Forbidden. -> [Help 1]
haesleinhuepf commented 3 years ago

Thanks for trying! If there is some "http://dl.bintray.com/haesleinhuepf/clij" in your pom file, could you remove it?

haesleinhuepf commented 3 years ago

I think I see the issue. It searches for clij-core 1.8.0.4 but that version is not available online. Can you please try this version?

<dependency>
  <groupId>net.haesleinhuepf</groupId>
  <artifactId>clijx-weka_</artifactId>
  <version>0.31.0.6</version>
</dependency>
tischi commented 3 years ago

This works!