Skip to content

Commit

Permalink
Dependency version updates
Browse files Browse the repository at this point in the history
Updated dependencies, including JavaCPP to 1.5. This required changes to all OpenCV-related import statements to become more module-friendly. More information at https://github.com/bytedeco/javacpp-presets/tree/master/opencv

Added picocli to parent build.gradle in expectation it will be used soon.
  • Loading branch information
petebankhead committed Apr 14, 2019
1 parent ad8595e commit a66b6a5
Show file tree
Hide file tree
Showing 43 changed files with 190 additions and 178 deletions.
11 changes: 7 additions & 4 deletions build.gradle
Expand Up @@ -93,6 +93,7 @@ subprojects {
javafx
nativeloader
guava
picocli

// Guave tries to bring in extra dependencies not required at runtime
implementation {
Expand All @@ -116,6 +117,8 @@ subprojects {
javafx "org.openjfx:${fx}:${jfxVersion}:${platform}"
}

picocli 'info.picocli:picocli:3.9.6'

richtextfx 'org.fxmisc.richtext:richtextfx:0.9.3'

commonsmath 'org.apache.commons:commons-math3:3.6.1'
Expand All @@ -131,12 +134,12 @@ subprojects {

jfxtras 'org.jfxtras:jfxtras-menu:10.0-r1'

opencv 'org.bytedeco.javacpp-presets:opencv:4.0.1-1.4.4'
opencv 'org.bytedeco:opencv:4.0.1-1.5'
if (nativesCPP != null) {
if (useGPU)
opencv "org.bytedeco.javacpp-presets:opencv:4.0.1-1.4.4:${nativesCPP}-gpu"
opencv "org.bytedeco:opencv:4.0.1-1.5:${nativesCPP}-gpu"
else
opencv "org.bytedeco.javacpp-presets:opencv:4.0.1-1.4.4:${nativesCPP}"
opencv "org.bytedeco:opencv:4.0.1-1.5:${nativesCPP}"
}

jpen 'net.sourceforge.jpen:jpen:2-150301'
Expand All @@ -149,7 +152,7 @@ subprojects {
if (nativesClassifier != null)
openslide 'org.openslide:openslide:3.4.1_2:' + nativesClassifier

nativeloader 'org.scijava:native-lib-loader:2.3.2'
nativeloader 'org.scijava:native-lib-loader:2.3.4'

guava 'com.google.guava:guava:27.1-jre'
}
Expand Down
Expand Up @@ -32,8 +32,11 @@
import java.util.Collection;
import java.util.List;

import static org.bytedeco.javacpp.opencv_core.*;
import org.bytedeco.javacpp.opencv_imgproc;
import static org.bytedeco.opencv.global.opencv_core.*;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Size;
import org.bytedeco.javacpp.indexer.FloatIndexer;
import org.bytedeco.javacpp.indexer.IntIndexer;
import org.slf4j.Logger;
Expand Down
Expand Up @@ -34,12 +34,14 @@
import java.util.Collections;
import java.util.List;

import static org.bytedeco.javacpp.opencv_core.*;
import org.bytedeco.javacpp.opencv_imgproc;
import static org.bytedeco.opencv.global.opencv_core.*;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.javacpp.indexer.Indexer;
import org.bytedeco.javacpp.indexer.IntIndexer;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.Size;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Expand Up @@ -31,8 +31,16 @@
import java.util.Collection;
import java.util.List;

import static org.bytedeco.javacpp.opencv_core.*;
import org.bytedeco.javacpp.opencv_imgproc;
import static org.bytedeco.opencv.global.opencv_core.*;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Point;
import org.bytedeco.opencv.opencv_core.Rect;
import org.bytedeco.opencv.opencv_core.RotatedRect;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.Size;
import org.bytedeco.opencv.opencv_core.Size2f;
import org.bytedeco.javacpp.indexer.Indexer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Expand Up @@ -23,7 +23,7 @@

package qupath.opencv.classify;

import org.bytedeco.javacpp.opencv_ml.NormalBayesClassifier;
import org.bytedeco.opencv.opencv_ml.NormalBayesClassifier;

/**
* Wrapper for OpenCV's Normal Bayes classifier.
Expand Down
Expand Up @@ -25,8 +25,8 @@

import java.util.List;

import org.bytedeco.javacpp.opencv_ml.Boost;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.opencv.opencv_ml.Boost;
import org.bytedeco.opencv.opencv_core.Mat;

import qupath.lib.objects.PathObject;
import qupath.lib.objects.classes.PathClass;
Expand Down
Expand Up @@ -23,7 +23,7 @@

package qupath.opencv.classify;

import org.bytedeco.javacpp.opencv_ml.DTrees;
import org.bytedeco.opencv.opencv_ml.DTrees;

/**
* Wrapper for OpenCV's Decision Trees classifier.
Expand Down
Expand Up @@ -23,7 +23,7 @@

package qupath.opencv.classify;

import org.bytedeco.javacpp.opencv_ml.KNearest;
import org.bytedeco.opencv.opencv_ml.KNearest;

import qupath.lib.plugins.parameters.ParameterList;

Expand Down
Expand Up @@ -23,13 +23,15 @@

package qupath.opencv.classify;

import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_core.*;

import org.bytedeco.opencv.global.opencv_ml;
import org.bytedeco.opencv.opencv_core.*;
import org.bytedeco.opencv.opencv_ml.*;

import java.nio.FloatBuffer;

import org.bytedeco.javacpp.opencv_ml.ANN_MLP;
import org.bytedeco.javacpp.indexer.FloatIndexer;
import org.bytedeco.javacpp.opencv_ml;

import qupath.lib.plugins.parameters.ParameterList;

Expand Down
Expand Up @@ -49,15 +49,17 @@
import qupath.lib.plugins.parameters.ParameterList;
import qupath.lib.plugins.parameters.Parameterizable;

import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_ml.*;
import static org.bytedeco.opencv.global.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_ml.*;
import org.bytedeco.opencv.opencv_core.*;
import org.bytedeco.opencv.opencv_ml.*;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
* Abstract base class for OpenCV classifiers.
*
* <p>
* Note: We cannot directly serialize an OpenCV classifier, so instead the training data is serialized and the classifier
* rebuilt as required. This means that potentially if a classifier is reloaded with a different version of the OpenCV library,
* if the training algorithm has changed then there may be a different result.
Expand Down
Expand Up @@ -27,16 +27,16 @@
import java.io.ObjectInput;
import java.io.ObjectOutput;

import org.bytedeco.javacpp.opencv_ml.StatModel;
import org.bytedeco.javacpp.opencv_core.TermCriteria;
import org.bytedeco.opencv.opencv_ml.StatModel;
import org.bytedeco.opencv.opencv_core.TermCriteria;

import qupath.lib.plugins.parameters.ParameterList;
import qupath.lib.plugins.parameters.Parameterizable;

/**
* Abstract base class useful for creating OpenCV classifiers that can be modified depending
* on the values of several parameters.
*
* <p>
* This takes care of some of the effort involved in representing and storing the parameters.
*
* @author Pete Bankhead
Expand Down
Expand Up @@ -25,9 +25,9 @@

import java.util.List;

import org.bytedeco.javacpp.opencv_ml.RTrees;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.TermCriteria;
import org.bytedeco.opencv.opencv_ml.RTrees;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.TermCriteria;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand Down
Expand Up @@ -23,7 +23,7 @@

package qupath.opencv.classify;

import org.bytedeco.javacpp.opencv_ml.SVM;
import org.bytedeco.opencv.opencv_ml.SVM;

import qupath.lib.plugins.parameters.ParameterList;

Expand Down
Expand Up @@ -35,8 +35,9 @@
import java.util.Set;
import java.util.stream.Collectors;

import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.javacpp.opencv_imgproc.Subdiv2D;
import org.bytedeco.opencv.opencv_core.Point2f;
import org.bytedeco.opencv.opencv_core.Rect;
import org.bytedeco.opencv.opencv_imgproc.Subdiv2D;

import qupath.lib.analysis.stats.RunningStatistics;
import qupath.lib.classifiers.PathClassificationLabellingHelper;
Expand Down
Expand Up @@ -30,8 +30,8 @@
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
import java.nio.FloatBuffer;
import static org.bytedeco.javacpp.opencv_core.*;
import org.bytedeco.javacpp.opencv_imgproc;
import static org.bytedeco.opencv.global.opencv_core.*;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.javacpp.indexer.ByteIndexer;
import org.bytedeco.javacpp.indexer.DoubleIndexer;
import org.bytedeco.javacpp.indexer.FloatIndexer;
Expand All @@ -41,8 +41,10 @@
import org.bytedeco.javacpp.indexer.UShortIndexer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Point;
import org.bytedeco.opencv.opencv_core.Scalar;

import qupath.lib.common.ColorTools;

Expand Down
Expand Up @@ -23,10 +23,13 @@

package qupath.opencv.processing;

import static org.bytedeco.javacpp.opencv_core.*;
import static org.bytedeco.opencv.global.opencv_core.*;

import java.nio.FloatBuffer;

import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Scalar;

import qupath.lib.analysis.algorithms.SimpleModifiableImage;

/**
Expand Down
Expand Up @@ -23,7 +23,7 @@

package qupath.opencv.processing;

import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Mat;

import qupath.lib.analysis.algorithms.MorphologicalReconstruction;
import qupath.lib.analysis.algorithms.Watershed;
Expand Down
Expand Up @@ -2,21 +2,9 @@

import java.io.IOException;

import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_core.FileStorage;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.SparseMat;
import org.bytedeco.javacpp.opencv_ml.ANN_MLP;
import org.bytedeco.javacpp.opencv_ml.Boost;
import org.bytedeco.javacpp.opencv_ml.DTrees;
import org.bytedeco.javacpp.opencv_ml.EM;
import org.bytedeco.javacpp.opencv_ml.KNearest;
import org.bytedeco.javacpp.opencv_ml.LogisticRegression;
import org.bytedeco.javacpp.opencv_ml.NormalBayesClassifier;
import org.bytedeco.javacpp.opencv_ml.RTrees;
import org.bytedeco.javacpp.opencv_ml.SVM;
import org.bytedeco.javacpp.opencv_ml.SVMSGD;
import org.bytedeco.javacpp.opencv_ml.StatModel;
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.opencv_core.*;
import org.bytedeco.opencv.opencv_ml.*;

import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
Expand Down
Expand Up @@ -3,13 +3,13 @@
import static org.junit.Assert.*;

import org.bytedeco.javacpp.PointerScope;
import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.Scalar;
import org.bytedeco.javacpp.opencv_core.SparseMat;
import org.bytedeco.javacpp.opencv_ml.EM;
import org.bytedeco.javacpp.opencv_ml.StatModel;
import org.bytedeco.javacpp.opencv_core.TermCriteria;
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.SparseMat;
import org.bytedeco.opencv.opencv_ml.EM;
import org.bytedeco.opencv.opencv_ml.StatModel;
import org.bytedeco.opencv.opencv_core.TermCriteria;
import org.junit.Test;

import com.google.gson.GsonBuilder;
Expand Down
@@ -1,9 +1,9 @@
package qupath.lib.classifiers.gui;

import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_imgproc;
import org.bytedeco.javacpp.opencv_ml;
import org.bytedeco.javacpp.opencv_ml.TrainData;
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.bytedeco.opencv.global.opencv_ml;
import org.bytedeco.opencv.opencv_ml.TrainData;
import org.bytedeco.javacpp.indexer.UByteIndexer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Expand All @@ -16,8 +16,10 @@
import qupath.lib.images.servers.ImageChannel;
import qupath.lib.images.servers.ImageServer;

import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.Size;

import qupath.lib.objects.PathAnnotationObject;
import qupath.lib.objects.PathObject;
Expand Down Expand Up @@ -401,7 +403,7 @@ else if (boundaryStrategy == BoundaryStrategy.CLASSIFY_IGNORE) {
int heightFeatures = matFeaturesFull.rows();
int widthFeatures = matFeaturesFull.cols();
if (heightFeatures != matMask.rows() || widthFeatures != matMask.cols()) {
opencv_imgproc.resize(matMask, matMask, new opencv_core.Size(widthFeatures, heightFeatures));
opencv_imgproc.resize(matMask, matMask, new Size(widthFeatures, heightFeatures));
}
// Reshape mask to a column matrix
matMask.put(matMask.reshape(1, matMask.rows()*matMask.cols()));
Expand All @@ -427,7 +429,7 @@ else if (isArea)
}
if (matFeatures != null && !matFeatures.empty()) {
allFeatures.add(matFeatures.clone()); // Clone to be careful... not sure if normalization could impact this under adverse conditions
Mat targets = new Mat(matFeatures.rows(), 1, opencv_core.CV_32SC1, opencv_core.Scalar.all(label));
Mat targets = new Mat(matFeatures.rows(), 1, opencv_core.CV_32SC1, Scalar.all(label));
allTargets.add(targets);
}
}
Expand Down
Expand Up @@ -10,12 +10,12 @@
import org.bytedeco.javacpp.indexer.FloatIndexer;
import org.bytedeco.javacpp.indexer.UByteIndexer;
import org.bytedeco.javacpp.indexer.UShortIndexer;
import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.javacpp.opencv_core.MatVector;
import org.bytedeco.javacpp.opencv_core.Scalar;
import org.bytedeco.javacpp.opencv_core.Size;
import org.bytedeco.javacpp.opencv_imgproc;
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.opencv_core.Mat;
import org.bytedeco.opencv.opencv_core.MatVector;
import org.bytedeco.opencv.opencv_core.Scalar;
import org.bytedeco.opencv.opencv_core.Size;
import org.bytedeco.opencv.global.opencv_imgproc;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down
Expand Up @@ -2,8 +2,8 @@

import java.util.Arrays;

import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacpp.opencv_core.Mat;
import org.bytedeco.opencv.global.opencv_core;
import org.bytedeco.opencv.opencv_core.Mat;
import qupath.lib.analysis.stats.RunningStatistics;
import qupath.lib.classifiers.Normalization;

Expand Down

0 comments on commit a66b6a5

Please sign in to comment.