diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaxCandidate.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaxCandidate.java index 988ab58541..c4f601ebfb 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaxCandidate.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaxCandidate.java @@ -22,7 +22,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Wrapper around the {@link boofcv.alg.feature.detect.extract.NonMaxCandidate} class. diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumBlock.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumBlock.java index 4b356f246c..a57428b0cc 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumBlock.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumBlock.java @@ -22,7 +22,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Wrapper around the {@link boofcv.alg.feature.detect.extract.NonMaxBlock} class. diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumNaive.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumNaive.java index a9c12af38b..8be0474814 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumNaive.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/extract/WrapperNonMaximumNaive.java @@ -22,7 +22,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/BaseGeneralFeatureIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/BaseGeneralFeatureIntensity.java index 7122421c70..1acf048d67 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/BaseGeneralFeatureIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/BaseGeneralFeatureIntensity.java @@ -21,7 +21,7 @@ import boofcv.alg.misc.GImageMiscOps; import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Provides some basic functionality for implementing {@link GeneralFeatureIntensity}. diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/GeneralFeatureIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/GeneralFeatureIntensity.java index f737d92792..360e42f8ac 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/GeneralFeatureIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/GeneralFeatureIntensity.java @@ -21,7 +21,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Extracts corners from a the image and or its gradient. This is a generalized interface and lacks some of the functionality diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperFastCornerIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperFastCornerIntensity.java index 22b35c1a06..24857d2642 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperFastCornerIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperFastCornerIntensity.java @@ -21,7 +21,7 @@ import boofcv.alg.feature.detect.intensity.FastCornerDetector; import boofcv.struct.ListIntPoint2D; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Wrapper around {@link FastCornerDetector} for {@link GeneralFeatureIntensity}. diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperGradientCornerIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperGradientCornerIntensity.java index 20cb5cd6a1..f2843055a3 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperGradientCornerIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperGradientCornerIntensity.java @@ -21,7 +21,7 @@ import boofcv.alg.feature.detect.intensity.GradientCornerIntensity; import boofcv.struct.ListIntPoint2D; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianDerivBlobIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianDerivBlobIntensity.java index 00cce5f003..fa43e6eda5 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianDerivBlobIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianDerivBlobIntensity.java @@ -22,7 +22,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianThreeImageDetIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianThreeImageDetIntensity.java index 68378d794f..df09739601 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianThreeImageDetIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperHessianThreeImageDetIntensity.java @@ -27,7 +27,7 @@ import boofcv.struct.image.GrayF32; import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Computes the Hessian determinant directory from the input image. Ignores other derivatives passed on diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperKitRosCornerIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperKitRosCornerIntensity.java index 3c980ad942..83ec68a281 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperKitRosCornerIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperKitRosCornerIntensity.java @@ -22,7 +22,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperLaplacianBlobIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperLaplacianBlobIntensity.java index e4e1aa949e..bab9811686 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperLaplacianBlobIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperLaplacianBlobIntensity.java @@ -25,7 +25,7 @@ import boofcv.struct.image.GrayF32; import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Wrapper around {@link DerivativeLaplacian} for {@link BaseGeneralFeatureIntensity}. diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperMedianCornerIntensity.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperMedianCornerIntensity.java index eac6e6f417..17c4ab0ce1 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperMedianCornerIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/intensity/WrapperMedianCornerIntensity.java @@ -23,7 +23,7 @@ import boofcv.struct.ListIntPoint2D; import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/interest/GeneralToInterestPoint.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/interest/GeneralToInterestPoint.java index 803e90bc85..5d83599831 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/interest/GeneralToInterestPoint.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/interest/GeneralToInterestPoint.java @@ -28,7 +28,7 @@ import georegression.struct.point.Point2D_F64; import georegression.struct.point.Point2D_I16; import org.ddogleg.struct.DogArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Wrapper around {@link boofcv.alg.feature.detect.interest.GeneralFeatureDetector} to make it compatible with {@link InterestPointDetector}. diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineHoughFootSubimage.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineHoughFootSubimage.java index fa5c73e06e..d7199d8fa7 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineHoughFootSubimage.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineHoughFootSubimage.java @@ -31,7 +31,7 @@ import boofcv.struct.image.ImageGray; import georegression.struct.line.LineParametric2D_F32; import org.ddogleg.struct.DogArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineSegmentsGridRansac.java b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineSegmentsGridRansac.java index 2b17b541d9..8181a9bd10 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineSegmentsGridRansac.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/feature/detect/line/DetectLineSegmentsGridRansac.java @@ -30,7 +30,7 @@ import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageGray; import georegression.struct.line.LineSegment2D_F32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrack.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrack.java index 75bb2000f9..3654502c50 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrack.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrack.java @@ -19,7 +19,7 @@ package boofcv.abst.tracker; import georegression.struct.point.Point2D_F64; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTracker.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTracker.java index f16a999896..4313e6b83c 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTracker.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTracker.java @@ -20,7 +20,7 @@ import boofcv.struct.image.ImageBase; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDda.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDda.java index 46aaa23bd8..b79e947b3c 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDda.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDda.java @@ -22,7 +22,7 @@ import boofcv.struct.feature.TupleDesc; import boofcv.struct.image.ImageGray; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDefault.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDefault.java index 710111f709..78cc27d070 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDefault.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerDefault.java @@ -20,7 +20,7 @@ import boofcv.struct.image.ImageBase; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerHybrid.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerHybrid.java index 48ca30c6a4..e583d3844a 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerHybrid.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerHybrid.java @@ -31,7 +31,7 @@ import boofcv.struct.pyramid.ConfigDiscreteLevels; import boofcv.struct.pyramid.PyramidDiscrete; import org.ddogleg.struct.DogArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerKltPyramid.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerKltPyramid.java index c6f9d77eca..ae46d19b94 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerKltPyramid.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerKltPyramid.java @@ -33,7 +33,7 @@ import georegression.struct.point.Point2D_I16; import lombok.Getter; import lombok.Setter; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerUtils.java b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerUtils.java index 0ae130be98..871da08278 100644 --- a/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerUtils.java +++ b/main/boofcv-feature/src/main/java/boofcv/abst/tracker/PointTrackerUtils.java @@ -18,7 +18,7 @@ package boofcv.abst.tracker; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm.java b/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm.java index c1817b907d..9b55d55e31 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm.java @@ -24,7 +24,7 @@ import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageBase; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** *
Implementation of {@link BackgroundAlgorithmGmm} for stationary images.
diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_MB.java b/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_MB.java index 66391a0534..e3febf5d02 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_MB.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_MB.java @@ -23,7 +23,7 @@ import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageMultiBand; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; //CONCURRENT_INLINE import boofcv.concurrency.BoofConcurrency; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_SB.java b/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_SB.java index 50f45f4c55..18207639f8 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_SB.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/background/stationary/BackgroundStationaryGmm_SB.java @@ -23,7 +23,7 @@ import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageGray; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; //CONCURRENT_INLINE import boofcv.concurrency.BoofConcurrency; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/describe/llah/LlahFeature.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/describe/llah/LlahFeature.java index b6d8b8644e..3ab328c1d3 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/describe/llah/LlahFeature.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/describe/llah/LlahFeature.java @@ -18,7 +18,7 @@ package boofcv.alg.feature.describe.llah; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Arrays; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdge.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdge.java index a3cbf8c24b..d0d16455e2 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdge.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdge.java @@ -27,7 +27,7 @@ import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageGray; import georegression.struct.point.Point2D_I32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdgeDynamic.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdgeDynamic.java index 66a4580496..4b63eb0312 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdgeDynamic.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/edge/CannyEdgeDynamic.java @@ -24,7 +24,7 @@ import boofcv.alg.misc.ImageStatistics; import boofcv.struct.image.GrayU8; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Canny edge detector where the thresholds are computed dynamically based upon the magnitude of the largest edge diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock.java index 5f00696b0c..ba1d618a70 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock.java @@ -20,7 +20,7 @@ import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** *diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchRelaxed.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchRelaxed.java index c8f2e7a476..ced57f4cdc 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchRelaxed.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchRelaxed.java @@ -21,7 +21,7 @@ import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; import georegression.struct.point.Point2D_I32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchStrict.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchStrict.java index 7c57f2561d..0876c59b90 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchStrict.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlockSearchStrict.java @@ -20,7 +20,7 @@ import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock_MT.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock_MT.java index 66f5798ad2..5b37277a44 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock_MT.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxBlock_MT.java @@ -21,7 +21,7 @@ import boofcv.concurrency.BoofConcurrency; import boofcv.struct.QueueCorner; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import pabeles.concurrency.GrowArray; /** diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxCandidate.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxCandidate.java index ab2ac2bd3c..c7b6922b30 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxCandidate.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/extract/NonMaxCandidate.java @@ -22,7 +22,7 @@ import boofcv.struct.image.GrayF32; import georegression.struct.point.Point2D_I16; import org.ddogleg.struct.DogArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/GIntegralImageFeatureIntensity.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/GIntegralImageFeatureIntensity.java index 2869d20f39..74a0dafe8e 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/GIntegralImageFeatureIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/GIntegralImageFeatureIntensity.java @@ -22,7 +22,7 @@ import boofcv.struct.image.GrayF32; import boofcv.struct.image.GrayS32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Functions for computing feature intensity on an image. Image type agnostic. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/IntegralImageFeatureIntensity.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/IntegralImageFeatureIntensity.java index d721ade663..309bda36b6 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/IntegralImageFeatureIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/IntegralImageFeatureIntensity.java @@ -24,7 +24,7 @@ import boofcv.concurrency.BoofConcurrency; import boofcv.struct.image.GrayF32; import boofcv.struct.image.GrayS32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Routines for computing the intensity of the fast hessian features in an image. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity.java index 2d49575c47..df1cc06193 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity.java @@ -24,7 +24,7 @@ //CONCURRENT_INLINE import boofcv.concurrency.BoofConcurrency; import boofcv.struct.image.GrayF32; import boofcv.struct.image.GrayS32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import javax.annotation.Generated; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity_MT.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity_MT.java index 2084ab46ab..3e2681e43c 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity_MT.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplIntegralImageFeatureIntensity_MT.java @@ -23,7 +23,7 @@ import boofcv.concurrency.BoofConcurrency; import boofcv.struct.image.GrayF32; import boofcv.struct.image.GrayS32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import javax.annotation.Generated; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplSsdCornerNaive.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplSsdCornerNaive.java index b0f33eba77..062853c823 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplSsdCornerNaive.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/intensity/impl/ImplSsdCornerNaive.java @@ -24,7 +24,7 @@ import boofcv.struct.convolve.Kernel2D_S32; import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Naive implementation of {@link boofcv.alg.feature.detect.intensity.ShiTomasiCornerIntensity} which performs computations in a straight diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/EasyGeneralFeatureDetector.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/EasyGeneralFeatureDetector.java index 093782984e..8ddb2816f4 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/EasyGeneralFeatureDetector.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/EasyGeneralFeatureDetector.java @@ -26,7 +26,7 @@ import boofcv.struct.QueueCorner; import boofcv.struct.image.ImageGray; import boofcv.struct.image.ImageType; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/GeneralFeatureDetector.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/GeneralFeatureDetector.java index 3447a22c8e..3a42964aa5 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/GeneralFeatureDetector.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/interest/GeneralFeatureDetector.java @@ -28,7 +28,7 @@ import lombok.Getter; import lombok.Setter; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/ImageLinePruneMerge.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/ImageLinePruneMerge.java index 22c7362bb3..97177f6b96 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/ImageLinePruneMerge.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/ImageLinePruneMerge.java @@ -25,7 +25,7 @@ import georegression.struct.line.LineSegment2D_F32; import georegression.struct.point.Point2D_F32; import org.ddogleg.struct.DogArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.Collections; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/LineImageOps.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/LineImageOps.java index dd69610de5..4518812028 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/LineImageOps.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/line/LineImageOps.java @@ -28,7 +28,7 @@ import georegression.struct.line.LineSegment2D_F32; import georegression.struct.point.Point2D_F32; import org.ddogleg.sorting.QuickSort_F32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.Iterator; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/ConvertLimitToIntensity.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/ConvertLimitToIntensity.java index 572b36fbcc..528eb30a42 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/ConvertLimitToIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/ConvertLimitToIntensity.java @@ -21,7 +21,7 @@ import boofcv.struct.image.GrayF32; import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Converts {@link FeatureSelectLimit} into {@link FeatureSelectLimitIntensity}. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimit.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimit.java index 22889f7f1c..c22f7b6398 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimit.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimit.java @@ -20,7 +20,7 @@ import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Selects a subset of the features inside the image until it hits the requested number. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimitIntensity.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimitIntensity.java index 088ecf442d..77711bf472 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimitIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectLimitIntensity.java @@ -21,7 +21,7 @@ import boofcv.struct.image.GrayF32; import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Selects features inside the image until it hits a limit. Feature intensity is available to aide in the selection diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectN.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectN.java index 83c8f98e80..5297d5afd5 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectN.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectN.java @@ -20,7 +20,7 @@ import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Selects features periodically in the order they were detected until it hits the limit. This is better than just diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectNBest.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectNBest.java index a9858f4216..0feee6ba1a 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectNBest.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectNBest.java @@ -23,7 +23,7 @@ import org.ddogleg.sorting.QuickSelect; import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Selects and sorts up to the N best features based on their intensity. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectRandom.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectRandom.java index 11ed79e483..e199b5b781 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectRandom.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectRandom.java @@ -22,7 +22,7 @@ import org.ddogleg.struct.DogArray_I32; import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Random; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniform.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniform.java index 16fef30e4e..066e842c85 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniform.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniform.java @@ -26,7 +26,7 @@ import georegression.struct.point.Point2D_I16; import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniformBest.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniformBest.java index bccd23dace..5d4065cca3 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniformBest.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/FeatureSelectUniformBest.java @@ -27,7 +27,7 @@ import org.ddogleg.struct.DogArray_I32; import org.ddogleg.struct.FastAccess; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensity.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensity.java index 41ae918904..81587f9238 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensity.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensity.java @@ -19,7 +19,7 @@ package boofcv.alg.feature.detect.selector; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Samples the intensity at the specified point. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityImage.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityImage.java index b1f79478f3..d12dc84574 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityImage.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityImage.java @@ -22,7 +22,7 @@ import georegression.struct.point.Point2D_F32; import georegression.struct.point.Point2D_F64; import georegression.struct.point.Point2D_I16; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Classes for sampling the intensity image diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityScalePoint.java b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityScalePoint.java index e485e9acb9..31961ef37d 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityScalePoint.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/feature/detect/selector/SampleIntensityScalePoint.java @@ -20,7 +20,7 @@ import boofcv.struct.feature.ScalePoint; import boofcv.struct.image.GrayF32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Uses the intensity value in {@link ScalePoint} to return the intensity diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/fh04/SegmentFelzenszwalbHuttenlocher04.java b/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/fh04/SegmentFelzenszwalbHuttenlocher04.java index d63a1b3525..b362c57ba8 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/fh04/SegmentFelzenszwalbHuttenlocher04.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/fh04/SegmentFelzenszwalbHuttenlocher04.java @@ -29,7 +29,7 @@ import org.ddogleg.struct.DogArray_F32; import org.ddogleg.struct.DogArray_I32; import org.ddogleg.struct.FastArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** *
diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/ms/SegmentMeanShift.java b/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/ms/SegmentMeanShift.java index a009f2c771..e01284c646 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/ms/SegmentMeanShift.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/segmentation/ms/SegmentMeanShift.java @@ -27,7 +27,7 @@ import org.ddogleg.struct.DogArray; import org.ddogleg.struct.DogArray_I32; import org.ddogleg.struct.Stoppable; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** *
diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ShapeFittingOps.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ShapeFittingOps.java index d1680c1a3a..d92912d558 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ShapeFittingOps.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ShapeFittingOps.java @@ -34,7 +34,7 @@ import org.ddogleg.struct.DogArray; import org.ddogleg.struct.DogArray_F64; import org.ddogleg.struct.DogArray_I32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/BaseIntegralEdge.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/BaseIntegralEdge.java index 45332ba614..e76faaf0c0 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/BaseIntegralEdge.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/BaseIntegralEdge.java @@ -28,7 +28,7 @@ import boofcv.struct.distort.PixelTransform; import boofcv.struct.image.ImageGray; import georegression.struct.point.Point2D_F32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Base class for computing line integrals along lines/edges. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/EdgeIntensityPolygon.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/EdgeIntensityPolygon.java index 049d7693e1..90c2d8430b 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/EdgeIntensityPolygon.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/edge/EdgeIntensityPolygon.java @@ -23,7 +23,7 @@ import georegression.struct.point.Point2D_F32; import georegression.struct.point.Point2D_F64; import georegression.struct.shapes.Polygon2D_F64; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Looks at the difference in pixel values along the edge of a polygon and decides if its a false positive or not. diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetector.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetector.java index 70ba6fd63d..48e86a512a 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetector.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetector.java @@ -28,7 +28,7 @@ import org.ddogleg.struct.DogArray; import org.ddogleg.struct.VerbosePrint; import org.ddogleg.util.VerboseUtils; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.io.PrintStream; import java.util.ArrayList; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetectorPixel.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetectorPixel.java index c06161cd9b..f1cd157aca 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetectorPixel.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/ellipse/BinaryEllipseDetectorPixel.java @@ -42,7 +42,7 @@ import org.ddogleg.struct.DogArray; import org.ddogleg.struct.VerbosePrint; import org.ddogleg.util.VerboseUtils; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.io.PrintStream; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonBinaryGrayRefine.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonBinaryGrayRefine.java index 1db8ca5bb0..27940289bf 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonBinaryGrayRefine.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonBinaryGrayRefine.java @@ -28,7 +28,7 @@ import georegression.struct.point.Point2D_I32; import georegression.struct.shapes.Polygon2D_F64; import org.ddogleg.struct.DogArray; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.ArrayList; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonFromContour.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonFromContour.java index b2fca66551..e69b314d04 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonFromContour.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/DetectPolygonFromContour.java @@ -39,7 +39,7 @@ import org.ddogleg.struct.DogArray_B; import org.ddogleg.struct.DogArray_I32; import org.ddogleg.struct.VerbosePrint; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.io.PrintStream; import java.util.ArrayList; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGray.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGray.java index 0153eab39b..71b0cd6ada 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGray.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGray.java @@ -22,7 +22,7 @@ import boofcv.struct.image.ImageGray; import georegression.struct.point.Point2D_F32; import georegression.struct.shapes.Polygon2D_F64; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** * Refines a polygon using the gray scale image. This results in a more accurate fit than just the contour alone diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGrayLine.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGrayLine.java index d32a12ceb2..f2ef9fdd25 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGrayLine.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polygon/RefinePolygonToGrayLine.java @@ -28,7 +28,7 @@ import georegression.struct.point.Point2D_F64; import georegression.struct.shapes.Polygon2D_F64; import lombok.Getter; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** *
diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/PolylineSplitMerge.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/PolylineSplitMerge.java index 1d44a0786a..050ce509a3 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/PolylineSplitMerge.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/PolylineSplitMerge.java @@ -32,7 +32,7 @@ import org.ddogleg.struct.DogArray_I32; import org.ddogleg.struct.DogLinkedList; import org.ddogleg.struct.DogLinkedList.Element; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/SplitMergeLineFit.java b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/SplitMergeLineFit.java index cc5e18feb2..61c0c0abde 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/SplitMergeLineFit.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/shapes/polyline/splitmerge/SplitMergeLineFit.java @@ -24,7 +24,7 @@ import georegression.struct.point.Point2D_I32; import org.ddogleg.struct.DogArray_B; import org.ddogleg.struct.DogArray_I32; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.List; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/KltTracker.java b/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/KltTracker.java index 07e4012851..9d2a8116a3 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/KltTracker.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/KltTracker.java @@ -24,7 +24,7 @@ import boofcv.struct.image.GrayF32; import boofcv.struct.image.ImageGray; import lombok.Getter; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; import java.util.Objects; diff --git a/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/PyramidKltTracker.java b/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/PyramidKltTracker.java index b245ca5b7e..ff733c9d00 100644 --- a/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/PyramidKltTracker.java +++ b/main/boofcv-feature/src/main/java/boofcv/alg/tracker/klt/PyramidKltTracker.java @@ -20,7 +20,7 @@ import boofcv.struct.image.ImageGray; import boofcv.struct.pyramid.ImagePyramid; -import org.jetbrains.annotations.Nullable; +import org.jspecify.annotations.Nullable; /** *
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/background/FactoryBackgroundModel.java b/main/boofcv-feature/src/main/java/boofcv/factory/background/FactoryBackgroundModel.java
index a25398269e..bf0a52638b 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/background/FactoryBackgroundModel.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/background/FactoryBackgroundModel.java
@@ -26,7 +26,7 @@
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
import georegression.struct.InvertibleTransform;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating implementations of {@link BackgroundModelStationary} and {@link boofcv.alg.background.BackgroundModelMoving}
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/associate/FactoryAssociation.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/associate/FactoryAssociation.java
index 7b06f857e0..60702f1ef3 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/associate/FactoryAssociation.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/associate/FactoryAssociation.java
@@ -29,7 +29,7 @@
import org.ddogleg.nn.FactoryNearestNeighbor;
import org.ddogleg.nn.NearestNeighbor;
import org.ddogleg.nn.alg.KdTreeDistance;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Creates algorithms for associating {@link boofcv.struct.feature.TupleDesc_F64} features.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/dense/FactoryDescribeImageDense.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/dense/FactoryDescribeImageDense.java
index 71f7791a7c..5111976e77 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/dense/FactoryDescribeImageDense.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/dense/FactoryDescribeImageDense.java
@@ -33,7 +33,7 @@
import boofcv.struct.image.ImageDataType;
import boofcv.struct.image.ImageGray;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating {@link DescribeImageDense}.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/describe/FactoryDescribeAlgs.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/describe/FactoryDescribeAlgs.java
index 29f4a20041..4a28ee806b 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/describe/FactoryDescribeAlgs.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/describe/FactoryDescribeAlgs.java
@@ -31,7 +31,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Creates algorithms for describing point features.
@@ -42,7 +42,7 @@
public class FactoryDescribeAlgs {
public static Factory for creating interest point detectors which conform to the {@link InterestPointDetector}
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/interest/FactoryInterestPointAlgs.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/interest/FactoryInterestPointAlgs.java
index 4c477adde5..ee71373a1a 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/interest/FactoryInterestPointAlgs.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/interest/FactoryInterestPointAlgs.java
@@ -42,7 +42,7 @@
import boofcv.struct.feature.ScalePoint;
import boofcv.struct.image.ImageGray;
import georegression.struct.point.Point2D_I16;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for non-generic specific implementations of interest point detection algorithms.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLine.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLine.java
index d3b8a0d42a..0fa520b18c 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLine.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLine.java
@@ -28,7 +28,7 @@
import boofcv.factory.filter.derivative.FactoryDerivative;
import boofcv.struct.image.ImageGray;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating high level implementations of {@link DetectLine} and {@link DetectLineSegment}. For more access
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLineAlgs.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLineAlgs.java
index 31eca0cc1b..a63a436697 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLineAlgs.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/line/FactoryDetectLineAlgs.java
@@ -35,7 +35,7 @@
import georegression.struct.line.LinePolar2D_F32;
import org.ddogleg.fitting.modelset.ModelMatcherPost;
import org.ddogleg.fitting.modelset.ransac.Ransac;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating line and line segment detectors.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/selector/FactorySelectLimit.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/selector/FactorySelectLimit.java
index 9e078fe9e9..2394af6487 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/selector/FactorySelectLimit.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/detect/selector/FactorySelectLimit.java
@@ -23,7 +23,7 @@
import georegression.struct.point.Point2D_F32;
import georegression.struct.point.Point2D_F64;
import georegression.struct.point.Point2D_I16;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory that creates {@link FeatureSelectLimitIntensity}
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/feature/orientation/FactoryOrientationAlgs.java b/main/boofcv-feature/src/main/java/boofcv/factory/feature/orientation/FactoryOrientationAlgs.java
index 95e0394533..65ba0f3e10 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/feature/orientation/FactoryOrientationAlgs.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/feature/orientation/FactoryOrientationAlgs.java
@@ -25,7 +25,7 @@
import boofcv.alg.feature.orientation.*;
import boofcv.alg.feature.orientation.impl.*;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Creates specific implementations of local region orientation estimators.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/flow/FactoryDenseOpticalFlow.java b/main/boofcv-feature/src/main/java/boofcv/factory/flow/FactoryDenseOpticalFlow.java
index a81eff2281..1338c4cc4c 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/flow/FactoryDenseOpticalFlow.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/flow/FactoryDenseOpticalFlow.java
@@ -36,7 +36,7 @@
import boofcv.struct.image.ImageType;
import boofcv.struct.pyramid.ConfigDiscreteLevels;
import boofcv.struct.pyramid.PyramidDiscrete;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Creates implementations of {@link DenseOpticalFlow}.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactoryImageSegmentation.java b/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactoryImageSegmentation.java
index 2584a8e81f..268af1cb6f 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactoryImageSegmentation.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactoryImageSegmentation.java
@@ -25,7 +25,7 @@
import boofcv.alg.segmentation.watershed.WatershedVincentSoille1991;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for {@link ImageSuperpixels} algorithms, which are used to segment the image into super pixels.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactorySegmentationAlg.java b/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactorySegmentationAlg.java
index bad329a6d7..356fc31f68 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactorySegmentationAlg.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/segmentation/FactorySegmentationAlg.java
@@ -33,7 +33,7 @@
import boofcv.struct.border.BorderType;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for low level segmentation algorithms.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/shape/ConfigPolygonDetector.java b/main/boofcv-feature/src/main/java/boofcv/factory/shape/ConfigPolygonDetector.java
index 17b0f98245..644f6ab92a 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/shape/ConfigPolygonDetector.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/shape/ConfigPolygonDetector.java
@@ -21,7 +21,7 @@
import boofcv.alg.shapes.edge.EdgeIntensityPolygon;
import boofcv.alg.shapes.polygon.DetectPolygonFromContour;
import boofcv.struct.Configuration;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Configuration for {@link DetectPolygonFromContour} for use in {@link FactoryShapeDetector}.
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryPointsToPolyline.java b/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryPointsToPolyline.java
index 4131c82595..ef07b1e8fd 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryPointsToPolyline.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryPointsToPolyline.java
@@ -20,7 +20,7 @@
import boofcv.abst.shapes.polyline.*;
import boofcv.alg.shapes.polyline.splitmerge.SplitMergeLineFit;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating instances of {@link PointsToPolyline}
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryShapeDetector.java b/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryShapeDetector.java
index 1a97f63dad..9cbdb734fb 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryShapeDetector.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/shape/FactoryShapeDetector.java
@@ -27,7 +27,7 @@
import boofcv.alg.shapes.polygon.*;
import boofcv.factory.filter.binary.FactoryBinaryContourFinder;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for detecting higher level shapes
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryPointTracker.java b/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryPointTracker.java
index f6fb80225c..9809cc73e7 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryPointTracker.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryPointTracker.java
@@ -68,7 +68,7 @@
import boofcv.struct.image.ImageType;
import boofcv.struct.pyramid.ConfigDiscreteLevels;
import boofcv.struct.pyramid.PyramidDiscrete;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Random;
diff --git a/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryTrackerAlg.java b/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryTrackerAlg.java
index 4b7d4b27e6..b469a96414 100644
--- a/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryTrackerAlg.java
+++ b/main/boofcv-feature/src/main/java/boofcv/factory/tracker/FactoryTrackerAlg.java
@@ -32,7 +32,7 @@
import boofcv.factory.interpolate.FactoryInterpolation;
import boofcv.struct.feature.TupleDesc;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating feature trackers algorithms.
diff --git a/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/ChecksFeatureSelectLimitIntensity.java b/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/ChecksFeatureSelectLimitIntensity.java
index 3b715f3cc7..27004a879d 100644
--- a/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/ChecksFeatureSelectLimitIntensity.java
+++ b/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/ChecksFeatureSelectLimitIntensity.java
@@ -24,7 +24,7 @@
import georegression.struct.point.Point2D_I16;
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.FastArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/TestConvertFeatureSelectLimitToIntensity.java b/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/TestConvertFeatureSelectLimitToIntensity.java
index c463117845..882c142e85 100644
--- a/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/TestConvertFeatureSelectLimitToIntensity.java
+++ b/main/boofcv-feature/src/test/java/boofcv/alg/feature/detect/selector/TestConvertFeatureSelectLimitToIntensity.java
@@ -24,7 +24,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.FastAccess;
import org.ddogleg.struct.FastArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.Nested;
import org.junit.jupiter.api.Test;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentCamera.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentCamera.java
index 075ba38f44..72565248e0 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentCamera.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentCamera.java
@@ -19,7 +19,7 @@
package boofcv.abst.geo.bundle;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Map;
@@ -83,7 +83,7 @@ default void setCameraState( BundleCameraState state ) {}
void jacobian( double camX, double camY, double camZ,
double[] pointX, double[] pointY,
boolean computeIntrinsic,
- @Nullable double[] calibX, @Nullable double[] calibY );
+ double @Nullable [] calibX, double @Nullable [] calibY );
/**
* Returns the number of intrinsic parameters for this model. If the camera is known then the number of parameters
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentSchur.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentSchur.java
index f11a5c71f2..79615e15ec 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentSchur.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/BundleAdjustmentSchur.java
@@ -22,7 +22,7 @@
import org.ddogleg.optimization.functions.FunctionNtoM;
import org.ddogleg.optimization.functions.SchurJacobian;
import org.ejml.data.DMatrix;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Set;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/MetricBundleAdjustmentUtils.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/MetricBundleAdjustmentUtils.java
index ee73ecc5f0..8e18fe1863 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/MetricBundleAdjustmentUtils.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/MetricBundleAdjustmentUtils.java
@@ -28,7 +28,7 @@
import org.ddogleg.optimization.ConfigNonLinearLeastSquares;
import org.ddogleg.struct.VerbosePrint;
import org.ddogleg.util.VerboseUtils;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Set;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/PruneStructureFromSceneMetric.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/PruneStructureFromSceneMetric.java
index f6ab2e4507..ecf95c3fae 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/PruneStructureFromSceneMetric.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/PruneStructureFromSceneMetric.java
@@ -29,7 +29,7 @@
import org.ddogleg.nn.NnData;
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.*;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneObservations.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneObservations.java
index 1a1a40081e..ceaa41e81d 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneObservations.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneObservations.java
@@ -23,7 +23,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Storage for feature observation in each view. Input for bundle adjustment. When possible arrays are used to
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureCommon.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureCommon.java
index e82538ae09..24172fc947 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureCommon.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureCommon.java
@@ -30,7 +30,7 @@
import lombok.Getter;
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Objects;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureMetric.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureMetric.java
index 89cbd3e747..283263b7d3 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureMetric.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/bundle/SceneStructureMetric.java
@@ -26,7 +26,7 @@
import georegression.transform.se.SePointOps_F64;
import lombok.Getter;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Objects;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMonoPlanar.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMonoPlanar.java
index 7a624c4fbb..4e1cf46ea2 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMonoPlanar.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMonoPlanar.java
@@ -33,7 +33,7 @@
import georegression.struct.se.Se3_F64;
import lombok.Getter;
import org.ddogleg.struct.VerbosePrint;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.File;
import java.io.PrintStream;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMultiPlanar.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMultiPlanar.java
index 478d6db464..ccd4f4a21f 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMultiPlanar.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateMultiPlanar.java
@@ -49,7 +49,7 @@
import org.ddogleg.struct.DogArray_I32;
import org.ddogleg.struct.FastArray;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateStereoPlanar.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateStereoPlanar.java
index c5098cc3c5..abd9558aed 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateStereoPlanar.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/CalibrateStereoPlanar.java
@@ -40,7 +40,7 @@
import org.ddogleg.struct.DogArray_B;
import org.ddogleg.struct.DogArray_I32;
import org.ddogleg.struct.VerbosePrint;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.ArrayList;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectMultiFiducialCalibration.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectMultiFiducialCalibration.java
index 81ab777837..46df6fd089 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectMultiFiducialCalibration.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectMultiFiducialCalibration.java
@@ -22,7 +22,7 @@
import boofcv.alg.geo.calibration.CalibrationObservation;
import boofcv.struct.image.GrayF32;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectSingleFiducialCalibration.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectSingleFiducialCalibration.java
index a2177aa643..b13c479478 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectSingleFiducialCalibration.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/DetectSingleFiducialCalibration.java
@@ -22,7 +22,7 @@
import boofcv.alg.geo.calibration.CalibrationObservation;
import boofcv.struct.image.GrayF32;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/MultiToSingleFiducialCalibration.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/MultiToSingleFiducialCalibration.java
index 3dbe1416b5..b6828589b0 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/MultiToSingleFiducialCalibration.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/calibration/MultiToSingleFiducialCalibration.java
@@ -24,7 +24,7 @@
import georegression.struct.point.Point2D_F64;
import lombok.Getter;
import lombok.Setter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/optimization/ResidualsEpipolarMatrixN.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/optimization/ResidualsEpipolarMatrixN.java
index 8e1494c0b5..f5369658fa 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/optimization/ResidualsEpipolarMatrixN.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/optimization/ResidualsEpipolarMatrixN.java
@@ -23,7 +23,7 @@
import org.ddogleg.fitting.modelset.ModelCodec;
import org.ddogleg.optimization.functions.FunctionNtoM;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/abst/geo/selfcalib/ProjectiveToMetricCameraDualQuadratic.java b/main/boofcv-geo/src/main/java/boofcv/abst/geo/selfcalib/ProjectiveToMetricCameraDualQuadratic.java
index d22f0b687b..0e58a2514c 100644
--- a/main/boofcv-geo/src/main/java/boofcv/abst/geo/selfcalib/ProjectiveToMetricCameraDualQuadratic.java
+++ b/main/boofcv-geo/src/main/java/boofcv/abst/geo/selfcalib/ProjectiveToMetricCameraDualQuadratic.java
@@ -42,7 +42,7 @@
import org.ejml.data.DMatrix3;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/cloud/DisparityToColorPointCloud.java b/main/boofcv-geo/src/main/java/boofcv/alg/cloud/DisparityToColorPointCloud.java
index dd4d432a5f..db54ae703f 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/cloud/DisparityToColorPointCloud.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/cloud/DisparityToColorPointCloud.java
@@ -32,7 +32,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.data.FMatrixRMaj;
import org.ejml.ops.ConvertMatrixData;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/cloud/PointCloudUtils_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/cloud/PointCloudUtils_F64.java
index 4c505c006a..3792b97ce9 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/cloud/PointCloudUtils_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/cloud/PointCloudUtils_F64.java
@@ -27,7 +27,7 @@
import org.ddogleg.nn.NnData;
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/LensDistortionOps_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/LensDistortionOps_F64.java
index e282f8d136..728463a75c 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/LensDistortionOps_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/LensDistortionOps_F64.java
@@ -27,7 +27,7 @@
import georegression.struct.shapes.RectangleLength2D_F64;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownNtoN_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownNtoN_F64.java
index 58f3143fd3..a59dbe30ef 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownNtoN_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownNtoN_F64.java
@@ -20,7 +20,7 @@
import boofcv.struct.distort.Point2Transform2_F64;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Given an undistorted normalized pixel coordinate, compute the distorted normalized coordinate.
@@ -39,7 +39,7 @@ public AddBrownNtoN_F64() {}
*
* @param radial Radial distortion parameters
*/
- public AddBrownNtoN_F64 setDistortion( @Nullable /**/double[] radial, /**/double t1, /**/double t2 ) {
+ public AddBrownNtoN_F64 setDistortion( /**/double @Nullable [] radial, /**/double t1, /**/double t2 ) {
params = new RadialTangential_F64(radial, t1, t2);
return this;
}
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownPtoN_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownPtoN_F64.java
index 7248e69df2..4f675e4be6 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownPtoN_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/AddBrownPtoN_F64.java
@@ -20,7 +20,7 @@
import boofcv.struct.distort.Point2Transform2_F64;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Given an undistorted pixel coordinate, compute the distorted normalized image coordinate.
@@ -65,7 +65,7 @@ public AddBrownPtoN_F64 setK( /**/double fx, /**/double fy, /**/double skew, /**
*
* @param radial Radial distortion parameters
*/
- public AddBrownPtoN_F64 setDistortion( @Nullable /**/double[] radial, /**/double t1, /**/double t2 ) {
+ public AddBrownPtoN_F64 setDistortion( /**/double @Nullable [] radial, /**/double t1, /**/double t2 ) {
params = new RadialTangential_F64(radial, t1, t2);
return this;
}
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RadialTangential_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RadialTangential_F64.java
index cb8f9cbc03..e5bca4eda5 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RadialTangential_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RadialTangential_F64.java
@@ -20,7 +20,7 @@
import lombok.Getter;
import lombok.Setter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Distortion parameters for radial and tangential model
@@ -48,11 +48,11 @@ public RadialTangential_F64( int numRadial ) {
public RadialTangential_F64() {
}
- public RadialTangential_F64( @Nullable /**/double[] radial, /**/double t1, /**/double t2 ) {
+ public RadialTangential_F64( /**/double @Nullable [] radial, /**/double t1, /**/double t2 ) {
this.setTo(radial, t1, t2);
}
- public void setTo( @Nullable /**/double[] radial, /**/double t1, /**/double t2 ) {
+ public void setTo( /**/double @Nullable [] radial, /**/double t1, /**/double t2 ) {
if (radial == null)
this.radial = new double[0];
else {
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownNtoN_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownNtoN_F64.java
index bc3c9c2fcd..9cbc5007fa 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownNtoN_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownNtoN_F64.java
@@ -21,7 +21,7 @@
import boofcv.struct.distort.Point2Transform2_F64;
import georegression.misc.GrlConstants;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Converts the observed distorted normalized image coordinates into undistorted normalized image coordinates.
@@ -46,7 +46,7 @@ public void setTolerance( double tol ) {
this.tol = tol;
}
- public RemoveBrownNtoN_F64 setDistortion( @Nullable /**/double[] radial, /**/double t1, /**/double t2 ) {
+ public RemoveBrownNtoN_F64 setDistortion( /**/double @Nullable [] radial, /**/double t1, /**/double t2 ) {
params = new RadialTangential_F64(radial, t1, t2);
return this;
}
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownPtoN_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownPtoN_F64.java
index 1797e0d0e2..3a08039173 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownPtoN_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/brown/RemoveBrownPtoN_F64.java
@@ -22,7 +22,7 @@
import boofcv.struct.distort.Point2Transform2_F64;
import georegression.misc.GrlConstants;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import static boofcv.alg.distort.brown.RemoveBrownNtoN_F64.removeRadial;
@@ -84,7 +84,7 @@ public RemoveBrownPtoN_F64 setK( /**/double fx, /**/double fy, /**/double skew,
return this;
}
- public RemoveBrownPtoN_F64 setDistortion( @Nullable /**/double[] radial, /**/double t1, /**/double t2 ) {
+ public RemoveBrownPtoN_F64 setDistortion( /**/double @Nullable [] radial, /**/double t1, /**/double t2 ) {
if (params != null && radial != null && params.radial.length == radial.length) {
System.arraycopy(radial, 0, params.radial, 0, radial.length);
return this;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/distort/kanbra/KannalaBrandtPtoS_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/distort/kanbra/KannalaBrandtPtoS_F64.java
index e4d37da62f..acbd4e50bc 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/distort/kanbra/KannalaBrandtPtoS_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/distort/kanbra/KannalaBrandtPtoS_F64.java
@@ -36,7 +36,7 @@
import org.ejml.data.DMatrix2x2;
import org.ejml.dense.fixed.CommonOps_DDF2;
import org.ejml.dense.fixed.MatrixFeatures_DDF2;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Arrays;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/MultiViewOps.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/MultiViewOps.java
index cdb98559a5..e85f5c1a9a 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/MultiViewOps.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/MultiViewOps.java
@@ -69,7 +69,7 @@
import org.ejml.dense.row.SingularOps_DDRM;
import org.ejml.dense.row.factory.DecompositionFactory_DDRM;
import org.ejml.interfaces.decomposition.SingularValueDecomposition_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/NormalizationPoint2D.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/NormalizationPoint2D.java
index e30cb38d96..9b49d022d8 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/NormalizationPoint2D.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/NormalizationPoint2D.java
@@ -24,7 +24,7 @@
import georegression.struct.point.Point3D_F64;
import org.ejml.data.DMatrix3x3;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Describes how to normalize a set of points such that they have zero mean and variance. This is equivalent
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/PerspectiveOps.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/PerspectiveOps.java
index d709af1209..3fc30a7788 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/PerspectiveOps.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/PerspectiveOps.java
@@ -44,7 +44,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.data.FMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/RectifyImageOps.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/RectifyImageOps.java
index 21d68f4e94..7f47294fea 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/RectifyImageOps.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/RectifyImageOps.java
@@ -30,7 +30,7 @@
import boofcv.struct.image.ImageDimension;
import org.ejml.data.DMatrixRMaj;
import org.ejml.data.FMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/WorldToCameraToPixel.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/WorldToCameraToPixel.java
index 6413cd8f42..d1baf0d08e 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/WorldToCameraToPixel.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/WorldToCameraToPixel.java
@@ -30,7 +30,7 @@
import georegression.struct.se.Se3_F64;
import georegression.transform.se.SePointOps_F64;
import lombok.Getter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Convenience class which will take a point in world coordinates, translate it to camera reference frame,
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentOps.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentOps.java
index b34c192486..f345e2b05f 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentOps.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentOps.java
@@ -28,7 +28,7 @@
import boofcv.struct.calib.CameraPinhole;
import boofcv.struct.calib.CameraPinholeBrown;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Operations related to Bundle Adjustment.
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentProjectiveSchurJacobian.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentProjectiveSchurJacobian.java
index bcc26f9539..7164c5da49 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentProjectiveSchurJacobian.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/BundleAdjustmentProjectiveSchurJacobian.java
@@ -28,7 +28,7 @@
import org.ejml.data.DMatrix;
import org.ejml.data.DMatrixRMaj;
import org.ejml.data.ReshapeMatrix;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Computes the Jacobian for {@link BundleAdjustmentSchur} for generic matrices.
@@ -251,7 +251,7 @@ public void processInternal( double[] input, DMatrix leftPoint, DMatrix rightVie
static void partialCameraMatrix( double X, double Y, double Z,
DMatrixRMaj P,
double[] pointGradX, double[] pointGradY, double[] pointGradZ,
- @Nullable double[] camGradX, @Nullable double[] camGradY, @Nullable double[] camGradZ ) {
+ double @Nullable [] camGradX, double @Nullable [] camGradY, double @Nullable [] camGradZ ) {
double P11 = P.data[0], P12 = P.data[1], P13 = P.data[2];
double P21 = P.data[4], P22 = P.data[5], P23 = P.data[6];
double P31 = P.data[8], P32 = P.data[9], P33 = P.data[10];
@@ -285,7 +285,7 @@ static void partialCameraMatrix( double X, double Y, double Z,
static void partialCameraMatrixH( double X, double Y, double Z, double W,
DMatrixRMaj P,
double[] pointGradX, double[] pointGradY, double[] pointGradZ,
- @Nullable double[] camGradX, @Nullable double[] camGradY, @Nullable double[] camGradZ ) {
+ double @Nullable [] camGradX, double @Nullable [] camGradY, double @Nullable [] camGradZ ) {
double P11 = P.data[0], P12 = P.data[1], P13 = P.data[2], P14 = P.data[3];
double P21 = P.data[4], P22 = P.data[5], P23 = P.data[6], P24 = P.data[7];
double P31 = P.data[8], P32 = P.data[9], P33 = P.data[10], P34 = P.data[11];
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleCameraProjective.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleCameraProjective.java
index a9b2baa37a..a2624cf055 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleCameraProjective.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleCameraProjective.java
@@ -20,7 +20,7 @@
import boofcv.abst.geo.bundle.BundleAdjustmentCamera;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.HashMap;
import java.util.Map;
@@ -44,7 +44,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
}
@Override
- public void jacobian( double camX, double camY, double camZ, double[] pointX, double[] pointY, boolean computeIntrinsic, @Nullable double[] calibX, @Nullable double[] calibY ) {
+ public void jacobian( double camX, double camY, double camZ, double[] pointX, double[] pointY, boolean computeIntrinsic, double @Nullable [] calibX, double @Nullable [] calibY ) {
pointX[0] = 1/camZ;
pointX[1] = 0;
pointX[2] = -camX/(camZ*camZ);
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleDummyCamera.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleDummyCamera.java
index 19966e7ea4..eae0c968c1 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleDummyCamera.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleDummyCamera.java
@@ -20,7 +20,7 @@
import boofcv.abst.geo.bundle.BundleAdjustmentCamera;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Map;
@@ -47,7 +47,7 @@ public class BundleDummyCamera implements BundleAdjustmentCamera {
@Override
public void jacobian( double camX, double camY, double camZ, double[] pointX, double[] pointY,
- boolean computeIntrinsic, @Nullable double[] calibX, @Nullable double[] calibY ) {
+ boolean computeIntrinsic, double @Nullable [] calibX, double @Nullable [] calibY ) {
throw new RuntimeException("Camera model not initialized correctly");
}
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleKannalaBrandt.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleKannalaBrandt.java
index cd89232745..5040597842 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleKannalaBrandt.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleKannalaBrandt.java
@@ -24,7 +24,7 @@
import georegression.geometry.UtilPoint3D_F64;
import georegression.struct.point.Point2D_F64;
import lombok.Getter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -184,7 +184,7 @@ public void configure( boolean zeroSkew, int numSymmetric, int numAsymmetric ) {
@Override
public void jacobian( final double camX, final double camY, final double camZ,
double[] pointX, double[] pointY,
- boolean computeIntrinsic, @Nullable double[] calibX, @Nullable double[] calibY ) {
+ boolean computeIntrinsic, double @Nullable [] calibX, double @Nullable [] calibY ) {
// Compute intermediate variables used in forward projection model
double norm2 = camX*camX + camY*camY + camZ*camZ;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinhole.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinhole.java
index c7aa39fb9d..24e3f81238 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinhole.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinhole.java
@@ -21,7 +21,7 @@
import boofcv.abst.geo.bundle.BundleAdjustmentCamera;
import boofcv.struct.calib.CameraPinhole;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -99,7 +99,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
@Override
public void jacobian( double camX, double camY, double camZ,
double[] inputX, double[] inputY, boolean computeIntrinsic,
- @Nullable double[] calibX, @Nullable double[] calibY ) {
+ double @Nullable [] calibX, double @Nullable [] calibY ) {
double nx = camX/camZ;
double ny = camY/camZ;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeBrown.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeBrown.java
index a036506950..0adb8894e7 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeBrown.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeBrown.java
@@ -23,7 +23,7 @@
import georegression.struct.point.Point2D_F64;
import org.ejml.FancyPrint;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -200,7 +200,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
@Override
public void jacobian( double camX, double camY, double camZ, double[] inputX, double[] inputY,
- boolean computeIntrinsic, @Nullable double[] calibX, @Nullable double[] calibY ) {
+ boolean computeIntrinsic, double @Nullable [] calibX, double @Nullable [] calibY ) {
double nx = camX/camZ;
double ny = camY/camZ;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSimplified.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSimplified.java
index 522b697bac..9b059292f1 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSimplified.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSimplified.java
@@ -21,7 +21,7 @@
import boofcv.abst.geo.bundle.BundleAdjustmentCamera;
import georegression.struct.point.Point2D_F64;
import org.ejml.FancyPrint;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -92,7 +92,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
@Override
public void jacobian( double X, double Y, double Z,
double[] inputX, double[] inputY, boolean computeIntrinsic,
- @Nullable double[] calibX, @Nullable double[] calibY ) {
+ double @Nullable [] calibX, double @Nullable [] calibY ) {
double normX = X/Z;
double normY = Y/Z;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSnavely.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSnavely.java
index 4f8da0d822..a6988dadd9 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSnavely.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundlePinholeSnavely.java
@@ -19,7 +19,7 @@
package boofcv.alg.geo.bundle.cameras;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Bundler and Bundle Adjustment in the Large use a different coordinate system. This
@@ -36,7 +36,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
@Override
public void jacobian( double X, double Y, double Z,
double[] inputX, double[] inputY,
- boolean computeIntrinsic, @Nullable double[] calibX, @Nullable double[] calibY ) {
+ boolean computeIntrinsic, double @Nullable [] calibX, double @Nullable [] calibY ) {
Z = -Z;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleUniversalOmni.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleUniversalOmni.java
index acf4f62dda..50d2edc81d 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleUniversalOmni.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleUniversalOmni.java
@@ -23,7 +23,7 @@
import georegression.struct.point.Point2D_F64;
import org.ejml.data.DMatrix3x3;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -213,7 +213,7 @@ public void project( double x, double y, double z, Point2D_F64 output ) {
public void jacobian( double camX, double camY, double camZ,
double[] inputX, double[] inputY,
boolean computeIntrinsic,
- @Nullable double[] calibX, @Nullable double[] calibY ) {
+ double @Nullable [] calibX, double @Nullable [] calibY ) {
// requires unit spherical coordinates
double n2 = camX*camX + camY*camY + camZ*camZ;
double n = Math.sqrt(n2);
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleZoomSimplified.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleZoomSimplified.java
index 583e0b5d22..c7b49e1967 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleZoomSimplified.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/bundle/cameras/BundleZoomSimplified.java
@@ -22,7 +22,7 @@
import boofcv.abst.geo.bundle.BundleCameraState;
import georegression.struct.point.Point2D_F64;
import org.ejml.FancyPrint;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.UncheckedIOException;
@@ -96,7 +96,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
@Override
public void jacobian( double X, double Y, double Z,
double[] inputX, double[] inputY, boolean computeIntrinsic,
- @Nullable double[] calibX, @Nullable double[] calibY ) {
+ double @Nullable [] calibX, double @Nullable [] calibY ) {
double focalLength = fOff + zoom*fScale;
double normX = X/Z;
double normY = Y/Z;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationObservationSet.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationObservationSet.java
index 4137289c02..4f5b3e6139 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationObservationSet.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationObservationSet.java
@@ -19,7 +19,7 @@
package boofcv.alg.geo.calibration;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Set of observed calibration targets in a single frame from a single camera
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationPlanarGridZhang99.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationPlanarGridZhang99.java
index 01d96c20d7..27d0a9540c 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationPlanarGridZhang99.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/CalibrationPlanarGridZhang99.java
@@ -39,7 +39,7 @@
import org.ddogleg.struct.VerbosePrint;
import org.ddogleg.util.VerboseUtils;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.ArrayList;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/SynchronizedCalObs.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/SynchronizedCalObs.java
index aae96e7830..a9a1d5f213 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/SynchronizedCalObs.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/SynchronizedCalObs.java
@@ -19,7 +19,7 @@
package boofcv.alg.geo.calibration;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* All observations that were captured at the same instance.
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/Zhang99ComputeTargetHomography.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/Zhang99ComputeTargetHomography.java
index 956a6d547e..f6eb73a276 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/Zhang99ComputeTargetHomography.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/calibration/Zhang99ComputeTargetHomography.java
@@ -25,7 +25,7 @@
import georegression.struct.point.Point2D_F64;
import lombok.Setter;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/f/FundamentalExtractEpipoles.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/f/FundamentalExtractEpipoles.java
index fb0d886941..2819577ab6 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/f/FundamentalExtractEpipoles.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/f/FundamentalExtractEpipoles.java
@@ -23,7 +23,7 @@
import org.ejml.dense.row.SingularOps_DDRM;
import org.ejml.dense.row.factory.DecompositionFactory_DDRM;
import org.ejml.interfaces.decomposition.SingularValueDecomposition_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyDirectLinearTransform.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyDirectLinearTransform.java
index c3dac637b1..1dd13e8876 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyDirectLinearTransform.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyDirectLinearTransform.java
@@ -34,7 +34,7 @@
import org.ejml.dense.row.linsol.svd.SolveNullSpaceSvd_DDRM;
import org.ejml.interfaces.SolveNullSpace;
import org.ejml.simple.SimpleMatrix;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
import java.util.Objects;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo2Line.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo2Line.java
index d402622e1b..26fd6ebf13 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo2Line.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo2Line.java
@@ -30,7 +30,7 @@
import georegression.struct.point.Vector3D_F64;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo3Pts.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo3Pts.java
index a0fd1acf9e..ea75973c19 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo3Pts.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereo3Pts.java
@@ -29,7 +29,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.factory.LinearSolverFactory_DDRM;
import org.ejml.interfaces.linsol.LinearSolverDense;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereoLinePt.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereoLinePt.java
index e1684e73bf..03f30ac066 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereoLinePt.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyInducedStereoLinePt.java
@@ -25,7 +25,7 @@
import georegression.struct.point.Point3D_F64;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyRadial6Pts.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyRadial6Pts.java
index 8d019d2f3a..8ea8ef2e46 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyRadial6Pts.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/h/HomographyRadial6Pts.java
@@ -35,7 +35,7 @@
import org.ejml.dense.row.factory.LinearSolverFactory_DDRM;
import org.ejml.interfaces.decomposition.SingularValueDecomposition_F64;
import org.ejml.interfaces.linsol.LinearSolver;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/impl/ImplPerspectiveOps_F64.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/impl/ImplPerspectiveOps_F64.java
index de96149a0f..483fb3c048 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/impl/ImplPerspectiveOps_F64.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/impl/ImplPerspectiveOps_F64.java
@@ -36,7 +36,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.fixed.CommonOps_DDF3;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Implementation of {@link PerspectiveOps} functions for 64-bit floats
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineDualQuadraticAlgebraicError.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineDualQuadraticAlgebraicError.java
index c87f5eab58..7039c781d2 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineDualQuadraticAlgebraicError.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineDualQuadraticAlgebraicError.java
@@ -35,7 +35,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
import org.ejml.dense.row.NormOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Set;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineTwoViewPinholeRotation.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineTwoViewPinholeRotation.java
index 612ce81f71..59fd720e7d 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineTwoViewPinholeRotation.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/RefineTwoViewPinholeRotation.java
@@ -38,7 +38,7 @@
import org.ddogleg.util.VerboseUtils;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/ResolveSignAmbiguityPositiveDepth.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/ResolveSignAmbiguityPositiveDepth.java
index 6b7b2e8401..b65d9dbbd0 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/ResolveSignAmbiguityPositiveDepth.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/ResolveSignAmbiguityPositiveDepth.java
@@ -33,7 +33,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.VerbosePrint;
import org.ddogleg.util.VerboseUtils;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationEssentialGuessAndCheck.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationEssentialGuessAndCheck.java
index f2b6337771..1c0a23503c 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationEssentialGuessAndCheck.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationEssentialGuessAndCheck.java
@@ -28,7 +28,7 @@
import org.ejml.dense.row.CommonOps_DDRM;
import org.ejml.dense.row.factory.DecompositionFactory_DDRM;
import org.ejml.interfaces.decomposition.SingularValueDecomposition_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Arrays;
diff --git a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationPraticalGuessAndCheckFocus.java b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationPraticalGuessAndCheckFocus.java
index ddb901015e..1b032914e6 100644
--- a/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationPraticalGuessAndCheckFocus.java
+++ b/main/boofcv-geo/src/main/java/boofcv/alg/geo/selfcalib/SelfCalibrationPraticalGuessAndCheckFocus.java
@@ -26,7 +26,7 @@
import org.ddogleg.util.VerboseUtils;
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiView.java b/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiView.java
index 511c98ccd6..b7866fbddf 100644
--- a/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiView.java
+++ b/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiView.java
@@ -55,7 +55,7 @@
import org.ddogleg.struct.DogArray;
import org.ejml.data.DMatrixRMaj;
import org.ejml.data.DMatrixSparseCSC;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating abstracted algorithms related to multi-view geometry
diff --git a/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiViewRobust.java b/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiViewRobust.java
index 74d2b080b3..3181748099 100644
--- a/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiViewRobust.java
+++ b/main/boofcv-geo/src/main/java/boofcv/factory/geo/FactoryMultiViewRobust.java
@@ -44,7 +44,7 @@
import org.ddogleg.fitting.modelset.ransac.Ransac_MT;
import org.ddogleg.struct.Factory;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating robust false-positive tolerant estimation algorithms in multi-view geometry. These
diff --git a/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraModel.java b/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraModel.java
index 62e563570d..52137dccd7 100644
--- a/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraModel.java
+++ b/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraModel.java
@@ -20,7 +20,7 @@
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageDimension;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.Serializable;
diff --git a/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraPinholeBrown.java b/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraPinholeBrown.java
index 2f7a3b3a8e..7b77a82152 100644
--- a/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraPinholeBrown.java
+++ b/main/boofcv-geo/src/main/java/boofcv/struct/calib/CameraPinholeBrown.java
@@ -21,7 +21,7 @@
import lombok.Getter;
import lombok.Setter;
import org.ejml.FancyPrint;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.Serializable;
import java.util.Arrays;
@@ -45,7 +45,7 @@
public class CameraPinholeBrown extends CameraPinhole implements Serializable {
/** radial distortion parameters */
- public @Nullable double[] radial;
+ public double @Nullable [] radial;
/** tangential distortion parameters */
public @Getter @Setter double t1, t2;
@@ -86,7 +86,7 @@ public CameraPinholeBrown fsetK( double fx, double fy,
return (CameraPinholeBrown)super.fsetK(fx, fy, skew, cx, cy, width, height);
}
- public CameraPinholeBrown fsetRadial( @Nullable double... radial ) {
+ public CameraPinholeBrown fsetRadial( double @Nullable ... radial ) {
if (radial == null) {
this.radial = null;
} else if (this.radial == null || this.radial.length != radial.length)
@@ -156,7 +156,7 @@ public boolean isDistorted( double tol ) {
return Math.abs(t1) > tol || Math.abs(t2) > tol;
}
- public @Nullable double[] getRadial() {
+ public double @Nullable [] getRadial() {
return radial;
}
@@ -201,7 +201,7 @@ public String toString() {
return txt;
}
- public static String toStringArray( FancyPrint fp, String name, @Nullable double[] param ) {
+ public static String toStringArray( FancyPrint fp, String name, double @Nullable [] param ) {
if (param == null || param.length == 0)
return "";
String txt = ",";
diff --git a/main/boofcv-geo/src/main/java/boofcv/struct/calib/MultiCameraCalibParams.java b/main/boofcv-geo/src/main/java/boofcv/struct/calib/MultiCameraCalibParams.java
index b4e4f79209..b5e8c7e327 100644
--- a/main/boofcv-geo/src/main/java/boofcv/struct/calib/MultiCameraCalibParams.java
+++ b/main/boofcv-geo/src/main/java/boofcv/struct/calib/MultiCameraCalibParams.java
@@ -23,7 +23,7 @@
import georegression.struct.se.Se3_F64;
import georegression.struct.se.SpecialEuclideanOps_F64;
import lombok.Getter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.Serializable;
import java.util.ArrayList;
diff --git a/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/cameras/GenericChecksBundleAdjustmentCamera.java b/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/cameras/GenericChecksBundleAdjustmentCamera.java
index 3d8db263a0..5de92aa686 100644
--- a/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/cameras/GenericChecksBundleAdjustmentCamera.java
+++ b/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/cameras/GenericChecksBundleAdjustmentCamera.java
@@ -27,7 +27,7 @@
import org.ddogleg.optimization.functions.FunctionNtoMxN;
import org.ejml.UtilEjml;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
diff --git a/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/jacobians/TestBundleCameraNumericJacobian.java b/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/jacobians/TestBundleCameraNumericJacobian.java
index 447933b902..c5a53dbaa9 100644
--- a/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/jacobians/TestBundleCameraNumericJacobian.java
+++ b/main/boofcv-geo/src/test/java/boofcv/alg/geo/bundle/jacobians/TestBundleCameraNumericJacobian.java
@@ -22,7 +22,7 @@
import boofcv.testing.BoofStandardJUnit;
import georegression.struct.point.Point2D_F64;
import org.ejml.UtilEjml;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -98,7 +98,7 @@ public void project( double camX, double camY, double camZ, Point2D_F64 output )
@Override
public void jacobian( double camX, double camY, double camZ,
double[] pointX, double[] pointY, boolean computeIntrinsic,
- @Nullable double[] calibX, @Nullable double[] calibY ) {
+ double @Nullable [] calibX, double @Nullable [] calibY ) {
pointX[0] = 1.0/camZ;
pointX[1] = 0;
pointX[2] = -(camX + a)/(camZ*camZ);
diff --git a/main/boofcv-geo/src/test/java/boofcv/alg/geo/triangulate/CommonTriangulationChecks.java b/main/boofcv-geo/src/test/java/boofcv/alg/geo/triangulate/CommonTriangulationChecks.java
index fbaec8463f..feff264b36 100644
--- a/main/boofcv-geo/src/test/java/boofcv/alg/geo/triangulate/CommonTriangulationChecks.java
+++ b/main/boofcv-geo/src/test/java/boofcv/alg/geo/triangulate/CommonTriangulationChecks.java
@@ -29,7 +29,7 @@
import georegression.struct.point.Point4D_F64;
import georegression.struct.se.Se3_F64;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/MediaManager.java b/main/boofcv-io/src/main/java/boofcv/io/MediaManager.java
index c679055ed7..57550e758a 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/MediaManager.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/MediaManager.java
@@ -21,7 +21,7 @@
import boofcv.io.image.SimpleImageSequence;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.awt.image.BufferedImage;
import java.io.Reader;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/MirrorStream.java b/main/boofcv-io/src/main/java/boofcv/io/MirrorStream.java
index f75d0b6b36..d5ddd6b71f 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/MirrorStream.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/MirrorStream.java
@@ -18,6 +18,8 @@
package boofcv.io;
+import org.jspecify.annotations.NonNull;
+
import java.io.OutputStream;
import java.io.PrintStream;
@@ -32,7 +34,7 @@ public class MirrorStream extends OutputStream {
PrintStream outA, outB;
public MirrorStream( PrintStream outA, PrintStream outB ) {this.outA = outA; this.outB = outB;}
@Override public void write( int b ) {outA.write(b); outB.write(b);}
- @Override public void write( byte[] b, int off, int len ) {outA.write(b, off, len); outB.write(b, off, len);}
+ @Override public void write( byte@NonNull[] b, int off, int len ) {outA.write(b, off, len); outB.write(b, off, len);}
@Override public void flush() {outA.flush(); outB.flush();}
@Override public void close() {outA.close(); outB.close();}
//@formatter:on
diff --git a/main/boofcv-io/src/main/java/boofcv/io/SerializeConfigYaml.java b/main/boofcv-io/src/main/java/boofcv/io/SerializeConfigYaml.java
index f418dcf338..e9f2301623 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/SerializeConfigYaml.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/SerializeConfigYaml.java
@@ -21,7 +21,7 @@
import boofcv.BoofVersion;
import boofcv.io.serialize.SerializeFieldsYamlBase;
import boofcv.struct.Configuration;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.yaml.snakeyaml.Yaml;
import java.io.IOException;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/UtilIO.java b/main/boofcv-io/src/main/java/boofcv/io/UtilIO.java
index 0b685e0455..a684c423e4 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/UtilIO.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/UtilIO.java
@@ -32,7 +32,8 @@
import georegression.struct.so.Quaternion_F64;
import georegression.struct.so.Rodrigues_F64;
import org.apache.commons.io.FilenameUtils;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.NonNull;
+import org.jspecify.annotations.Nullable;
import org.yaml.snakeyaml.Yaml;
import javax.swing.*;
@@ -578,7 +579,7 @@ public static void save( Object o, String fileName ) {
}
public static Data structure used to store 3D objects that is native to the STL file format [1,2]. One deviation is
diff --git a/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjFileWriter.java b/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjFileWriter.java
index c06ff0a6e8..44ca43d0cc 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjFileWriter.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjFileWriter.java
@@ -19,7 +19,7 @@
package boofcv.io.points.impl;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.Writer;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjLoadFromFiles.java b/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjLoadFromFiles.java
index d36f642e4c..22d5ebc60c 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjLoadFromFiles.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/points/impl/ObjLoadFromFiles.java
@@ -21,7 +21,7 @@
import boofcv.struct.mesh.VertexMesh;
import lombok.Getter;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.*;
import java.nio.charset.StandardCharsets;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/points/impl/PlyCodec.java b/main/boofcv-io/src/main/java/boofcv/io/points/impl/PlyCodec.java
index 23800d27fb..03464e80fc 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/points/impl/PlyCodec.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/points/impl/PlyCodec.java
@@ -28,7 +28,7 @@
import georegression.struct.point.Point3D_F32;
import georegression.struct.point.Point3D_F64;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.IOException;
import java.io.InputStream;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/recognition/RecognitionIO.java b/main/boofcv-io/src/main/java/boofcv/io/recognition/RecognitionIO.java
index 3243771b14..b9085ef4d0 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/recognition/RecognitionIO.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/recognition/RecognitionIO.java
@@ -42,7 +42,7 @@
import org.ddogleg.struct.BigDogArray_I32;
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.FastAccess;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.*;
import java.nio.charset.StandardCharsets;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/serialize/SerializeFieldsYamlBase.java b/main/boofcv-io/src/main/java/boofcv/io/serialize/SerializeFieldsYamlBase.java
index 501f49dc99..782a6f53b7 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/serialize/SerializeFieldsYamlBase.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/serialize/SerializeFieldsYamlBase.java
@@ -22,7 +22,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.FastAccess;
import org.ddogleg.struct.FastArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.yaml.snakeyaml.DumperOptions;
import org.yaml.snakeyaml.Yaml;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/video/BoofMjpegVideo.java b/main/boofcv-io/src/main/java/boofcv/io/video/BoofMjpegVideo.java
index ee625f77c5..0418181bf5 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/video/BoofMjpegVideo.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/video/BoofMjpegVideo.java
@@ -22,7 +22,7 @@
import boofcv.io.wrapper.images.MjpegStreamSequence;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.FileNotFoundException;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/video/DynamicVideoInterface.java b/main/boofcv-io/src/main/java/boofcv/io/video/DynamicVideoInterface.java
index 3db2769679..9b1366213f 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/video/DynamicVideoInterface.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/video/DynamicVideoInterface.java
@@ -25,7 +25,7 @@
import boofcv.io.wrapper.images.LoadFileImageSequence;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.File;
import java.io.IOException;
diff --git a/main/boofcv-io/src/main/java/boofcv/io/video/VideoInterface.java b/main/boofcv-io/src/main/java/boofcv/io/video/VideoInterface.java
index 204fa8987e..6603234dad 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/video/VideoInterface.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/video/VideoInterface.java
@@ -21,7 +21,7 @@
import boofcv.io.image.SimpleImageSequence;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Abstract interface for loading video streams.
diff --git a/main/boofcv-io/src/main/java/boofcv/io/video/VideoMjpegCodec.java b/main/boofcv-io/src/main/java/boofcv/io/video/VideoMjpegCodec.java
index c3f5b3efce..61af8ef1c3 100644
--- a/main/boofcv-io/src/main/java/boofcv/io/video/VideoMjpegCodec.java
+++ b/main/boofcv-io/src/main/java/boofcv/io/video/VideoMjpegCodec.java
@@ -18,7 +18,7 @@
package boofcv.io.video;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.*;
import java.util.ArrayList;
@@ -57,7 +57,7 @@ public List
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapBaseBlockMatch.java b/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapBaseBlockMatch.java
index 57d22831a3..041afc9207 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapBaseBlockMatch.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapBaseBlockMatch.java
@@ -23,7 +23,7 @@
import boofcv.core.image.GeneralizedImageOps;
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Base class for wrapped block matching algorithms.
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapDisparitySgm.java b/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapDisparitySgm.java
index 32f0f05562..6a686da457 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapDisparitySgm.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/abst/disparity/WrapDisparitySgm.java
@@ -23,7 +23,7 @@
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
public class WrapDisparitySgm
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/DisparitySelect.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/DisparitySelect.java
index bcf84be7a1..32ec2dc747 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/DisparitySelect.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/DisparitySelect.java
@@ -21,7 +21,7 @@
import boofcv.alg.disparity.DisparityBlockMatch;
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityBasicWta.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityBasicWta.java
index 6eb3c4e4e6..0723f8d32e 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityBasicWta.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityBasicWta.java
@@ -20,7 +20,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityWithChecksWta.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityWithChecksWta.java
index 8da3bd5a2d..695cf95cc9 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityWithChecksWta.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/SelectDisparityWithChecksWta.java
@@ -20,7 +20,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_F32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_F32.java
index 3c4584cf04..242720be52 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_F32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_F32.java
@@ -27,7 +27,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import pabeles.concurrency.IntRangeObjectConsumer;
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_S32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_S32.java
index 6e45ea8310..4cab77ada6 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_S32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBMBestFive_S32.java
@@ -26,7 +26,7 @@
import boofcv.misc.Compare_S32;
import boofcv.struct.border.ImageBorder;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import pabeles.concurrency.IntRangeObjectConsumer;
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_F32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_F32.java
index c740aa9f96..0c1bcd109c 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_F32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_F32.java
@@ -26,7 +26,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import pabeles.concurrency.IntRangeObjectConsumer;
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_S32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_S32.java
index c0ca93d6d5..ce0faf8bf6 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_S32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/score/DisparityScoreBM_S32.java
@@ -24,7 +24,7 @@
import boofcv.concurrency.BoofConcurrency;
import boofcv.struct.border.ImageBorder;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import pabeles.concurrency.IntRangeObjectConsumer;
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWithChecks_F32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWithChecks_F32.java
index bb473b0e1d..a2f6d9e653 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWithChecks_F32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWithChecks_F32.java
@@ -24,7 +24,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWta_F32_U8.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWta_F32_U8.java
index 82d7f5900a..3dae148c7a 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWta_F32_U8.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectCorrelationWta_F32_U8.java
@@ -23,7 +23,7 @@
import boofcv.misc.Compare_F32;
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayU8;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_F32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_F32.java
index 27b4ddc539..e39b5deb61 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_F32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_F32.java
@@ -24,7 +24,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_S32.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_S32.java
index d3a391a68e..a8715dee62 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_S32.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/block/select/SelectErrorWithChecks_S32.java
@@ -24,7 +24,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/sgm/cost/SgmCostFromBlocks.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/sgm/cost/SgmCostFromBlocks.java
index 28b1300e0b..a27e8e689b 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/sgm/cost/SgmCostFromBlocks.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/disparity/sgm/cost/SgmCostFromBlocks.java
@@ -25,7 +25,7 @@
import boofcv.alg.disparity.sgm.SgmDisparityCost;
import boofcv.misc.Compare_S32;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Computes the error for SGM using {@link BlockRowScore block matching}.
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/distort/LensDistortionOps.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/distort/LensDistortionOps.java
index 45a12c5f98..b39783a001 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/distort/LensDistortionOps.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/distort/LensDistortionOps.java
@@ -28,7 +28,7 @@
import boofcv.struct.distort.PointToPixelTransform_F32;
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Operations for manipulating lens distortion which do not have F32 and F64 equivalents.
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/BundleToRectificationStereoParameters.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/BundleToRectificationStereoParameters.java
index 7a99c6f060..d2619c9e9b 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/BundleToRectificationStereoParameters.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/BundleToRectificationStereoParameters.java
@@ -37,7 +37,7 @@
import org.ejml.data.FMatrixRMaj;
import org.ejml.dense.row.MatrixFeatures_DDRM;
import org.ejml.ops.ConvertMatrixData;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import static boofcv.misc.BoofMiscOps.checkTrue;
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineDisparityErrors.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineDisparityErrors.java
index 446643510e..349101f4bb 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineDisparityErrors.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineDisparityErrors.java
@@ -33,7 +33,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.row.CommonOps_DDRM;
import org.ejml.ops.DConvertMatrixStruct;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Set;
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineStereoIndependent.java b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineStereoIndependent.java
index 416d7fbc88..4c33915ed0 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineStereoIndependent.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/alg/mvs/MultiBaselineStereoIndependent.java
@@ -41,7 +41,7 @@
import org.ddogleg.struct.VerbosePrint;
import org.ddogleg.util.VerboseUtils;
import org.ejml.data.DMatrixRMaj;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.Objects;
@@ -142,7 +142,7 @@ public class MultiBaselineStereoIndependent
diff --git a/main/boofcv-ip-multiview/src/main/java/boofcv/factory/disparity/FactoryStereoDisparityAlgs.java b/main/boofcv-ip-multiview/src/main/java/boofcv/factory/disparity/FactoryStereoDisparityAlgs.java
index 83c24d75a0..bca00eef57 100644
--- a/main/boofcv-ip-multiview/src/main/java/boofcv/factory/disparity/FactoryStereoDisparityAlgs.java
+++ b/main/boofcv-ip-multiview/src/main/java/boofcv/factory/disparity/FactoryStereoDisparityAlgs.java
@@ -34,7 +34,7 @@
import boofcv.core.image.border.FactoryImageBorder;
import boofcv.factory.transform.census.FactoryCensusTransform;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import static boofcv.factory.disparity.FactoryStereoDisparity.*;
diff --git a/main/boofcv-ip-multiview/src/test/java/boofcv/alg/mvs/TestMultiViewStereoOps.java b/main/boofcv-ip-multiview/src/test/java/boofcv/alg/mvs/TestMultiViewStereoOps.java
index 3556da57f8..fbb5e2511d 100644
--- a/main/boofcv-ip-multiview/src/test/java/boofcv/alg/mvs/TestMultiViewStereoOps.java
+++ b/main/boofcv-ip-multiview/src/test/java/boofcv/alg/mvs/TestMultiViewStereoOps.java
@@ -45,7 +45,7 @@
import georegression.struct.se.Se3_F64;
import georegression.struct.se.SpecialEuclideanOps_F64;
import org.ejml.dense.row.CommonOps_DDRM;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.Test;
import java.util.List;
diff --git a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/binary/impl/GenerateImplThresholdImageOps.java b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/binary/impl/GenerateImplThresholdImageOps.java
index 546f979aae..cb1c47415e 100644
--- a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/binary/impl/GenerateImplThresholdImageOps.java
+++ b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/binary/impl/GenerateImplThresholdImageOps.java
@@ -51,7 +51,7 @@ private void printPreamble() {
"import pabeles.concurrency.GrowArray;\n" +
"import org.ddogleg.struct.DogArray_F32;\n" +
"import org.ddogleg.struct.DogArray_I32;\n" +
- "import org.jetbrains.annotations.Nullable;\n" +
+ "import org.jspecify.annotations.Nullable;\n" +
"import boofcv.struct.image.*;\n" +
"import boofcv.alg.filter.blur.BlurImageOps;\n" +
"import boofcv.struct.ConfigLength;\n" +
diff --git a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/GenerateBlurImageOps.java b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/GenerateBlurImageOps.java
index b1599674df..6b70021794 100644
--- a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/GenerateBlurImageOps.java
+++ b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/GenerateBlurImageOps.java
@@ -65,7 +65,7 @@ private void printPreamble() {
"import org.ddogleg.struct.DogArray_F32;\n" +
"import org.ddogleg.struct.DogArray_F64;\n" +
"import org.ddogleg.struct.DogArray_I32;\n" +
- "import org.jetbrains.annotations.Nullable;\n" +
+ "import org.jspecify.annotations.Nullable;\n" +
"import pabeles.concurrency.GrowArray;\n" +
"\n" +
"import javax.annotation.Generated;\n" +
diff --git a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/impl/GenerateImplMedianSortEdgeNaive.java b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/impl/GenerateImplMedianSortEdgeNaive.java
index 043238ec1f..8474fdcd49 100644
--- a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/impl/GenerateImplMedianSortEdgeNaive.java
+++ b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/blur/impl/GenerateImplMedianSortEdgeNaive.java
@@ -41,7 +41,7 @@ private void printPreamble() {
"import boofcv.struct.image.*;\n" +
"import org.ddogleg.sorting.QuickSelect;\n" +
"import org.ddogleg.struct.*;\n" +
- "import org.jetbrains.annotations.Nullable;\n" +
+ "import org.jspecify.annotations.Nullable;\n" +
"\n" +
"import javax.annotation.Generated;\n" +
"\n" +
diff --git a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/convolve/GenerateConvolveImageMean.java b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/convolve/GenerateConvolveImageMean.java
index c96e3b41a5..9ac6a11b65 100644
--- a/main/boofcv-ip/src/generate/java/boofcv/alg/filter/convolve/GenerateConvolveImageMean.java
+++ b/main/boofcv-ip/src/generate/java/boofcv/alg/filter/convolve/GenerateConvolveImageMean.java
@@ -67,7 +67,7 @@ private void printPreamble() {
"import org.ddogleg.struct.DogArray_F32;\n" +
"import org.ddogleg.struct.DogArray_F64;\n" +
"import org.ddogleg.struct.DogArray_I32;\n" +
- "import org.jetbrains.annotations.Nullable;\n" +
+ "import org.jspecify.annotations.Nullable;\n" +
"\n" +
"/**\n" +
" * Convolves a mean filter across the image. The mean value of all the pixels are computed inside the kernel.
diff --git a/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformFloat32.java b/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformFloat32.java
index f8f89ed608..2194361d2e 100644
--- a/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformFloat32.java
+++ b/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformFloat32.java
@@ -26,7 +26,7 @@
import boofcv.struct.image.ImageDimension;
import boofcv.struct.wavelet.WaveletDescription;
import boofcv.struct.wavelet.WlCoef_F32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Implementation of {@link boofcv.abst.transform.wavelet.WaveletTransform} for {@link GrayF32}.
diff --git a/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformInt.java b/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformInt.java
index 33208c17ce..af15a82998 100644
--- a/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformInt.java
+++ b/main/boofcv-ip/src/main/java/boofcv/abst/transform/wavelet/impl/WaveletTransformInt.java
@@ -28,7 +28,7 @@
import boofcv.struct.image.ImageDimension;
import boofcv.struct.wavelet.WaveletDescription;
import boofcv.struct.wavelet.WlCoef_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/denoise/wavelet/UtilDenoiseWavelet.java b/main/boofcv-ip/src/main/java/boofcv/alg/denoise/wavelet/UtilDenoiseWavelet.java
index 95aaad8ee7..e2ef26d3be 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/denoise/wavelet/UtilDenoiseWavelet.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/denoise/wavelet/UtilDenoiseWavelet.java
@@ -21,7 +21,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
import org.ddogleg.sorting.QuickSelect;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Various functions useful for denoising wavelet transforms.
@@ -49,7 +49,7 @@ public class UtilDenoiseWavelet {
* @param storage Used to temporarily store the absolute value of each element in the subband.
* @return estimated noise variance.
*/
- public static float estimateNoiseStdDev( GrayF32 subband, @Nullable float[] storage ) {
+ public static float estimateNoiseStdDev( GrayF32 subband, float @Nullable [] storage ) {
storage = subbandAbsVal(subband, storage);
int N = subband.width*subband.height;
@@ -60,7 +60,7 @@ public static float estimateNoiseStdDev( GrayF32 subband, @Nullable float[] stor
* Computes the absolute value of each element in the subband image are places it into
* 'coef'
*/
- public static float[] subbandAbsVal( GrayF32 subband, @Nullable float[] coef ) {
+ public static float[] subbandAbsVal( GrayF32 subband, float @Nullable [] coef ) {
if (coef == null) {
coef = new float[subband.width*subband.height];
}
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/distort/impl/DistortSupport.java b/main/boofcv-ip/src/main/java/boofcv/alg/distort/impl/DistortSupport.java
index 31a968b70f..de30a6377e 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/distort/impl/DistortSupport.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/distort/impl/DistortSupport.java
@@ -31,7 +31,7 @@
import georegression.struct.se.Se2_F32;
import georegression.transform.ConvertTransform_F32;
import georegression.transform.InvertibleTransformSequence;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Provides low level functions that {@link boofcv.abst.distort.FDistort} can call.
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/enhance/EnhanceImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/enhance/EnhanceImageOps.java
index 45343ee535..8c94a23853 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/enhance/EnhanceImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/enhance/EnhanceImageOps.java
@@ -30,7 +30,7 @@
import boofcv.struct.convolve.Kernel2D_S32;
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
/**
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/enhance/GEnhanceImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/enhance/GEnhanceImageOps.java
index 00634dba24..1ad9634fbf 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/enhance/GEnhanceImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/enhance/GEnhanceImageOps.java
@@ -21,7 +21,7 @@
import boofcv.alg.InputSanityCheck;
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
/**
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/BinaryImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/BinaryImageOps.java
index f4c5bfaa1f..ad0aef5eed 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/BinaryImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/BinaryImageOps.java
@@ -31,7 +31,7 @@
import boofcv.struct.image.GrayU8;
import georegression.struct.point.Point2D_I32;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/GThresholdImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/GThresholdImageOps.java
index 3c534fe3fb..9e3de14ccd 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/GThresholdImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/GThresholdImageOps.java
@@ -29,7 +29,7 @@
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
import org.ejml.UtilEjml;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
/**
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/ThresholdImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/ThresholdImageOps.java
index 7d55358e06..7ebe0b6c77 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/ThresholdImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/ThresholdImageOps.java
@@ -26,7 +26,7 @@
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
/**
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/impl/ImplThresholdImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/impl/ImplThresholdImageOps.java
index ce0290f9be..a3f75edabf 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/impl/ImplThresholdImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/binary/impl/ImplThresholdImageOps.java
@@ -23,7 +23,7 @@
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BOverrideBlurImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BOverrideBlurImageOps.java
index 471e7e2ba6..bebeea73af 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BOverrideBlurImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BOverrideBlurImageOps.java
@@ -22,7 +22,7 @@
import boofcv.override.BOverrideManager;
import boofcv.struct.border.ImageBorder;
import boofcv.struct.image.ImageBase;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Override for blur image ops functions
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BlurImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BlurImageOps.java
index 6b77578071..4a16d99dfe 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BlurImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/BlurImageOps.java
@@ -38,7 +38,7 @@
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_F64;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/GBlurImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/GBlurImageOps.java
index 6b6a1ba0ad..77037c2f38 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/GBlurImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/GBlurImageOps.java
@@ -26,7 +26,7 @@
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_F64;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
/**
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortEdgeNaive.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortEdgeNaive.java
index 3979820ddd..5c6c2243df 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortEdgeNaive.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortEdgeNaive.java
@@ -24,7 +24,7 @@
import org.ddogleg.sorting.QuickSelect;
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortNaive.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortNaive.java
index 19acea4e8c..a91837e5cf 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortNaive.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/blur/impl/ImplMedianSortNaive.java
@@ -26,7 +26,7 @@
import org.ddogleg.sorting.QuickSelect;
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
//CONCURRENT_INLINE import boofcv.concurrency.BoofConcurrency;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImage.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImage.java
index eeca0570a4..3910499833 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImage.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImage.java
@@ -24,7 +24,7 @@
import boofcv.struct.convolve.Kernel1D;
import boofcv.struct.convolve.Kernel2D;
import boofcv.struct.image.ImageBase;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Override for {@link ConvolveImage}.
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageMean.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageMean.java
index 0d5f22a598..977d050b4e 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageMean.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageMean.java
@@ -21,7 +21,7 @@
import boofcv.override.BOverrideClass;
import boofcv.override.BOverrideManager;
import boofcv.struct.image.ImageBase;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Override for {@link ConvolveImageMean}
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageNormalized.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageNormalized.java
index bb4dae13d1..4e43956b9f 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageNormalized.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/BOverrideConvolveImageNormalized.java
@@ -23,7 +23,7 @@
import boofcv.struct.convolve.Kernel1D;
import boofcv.struct.convolve.Kernel2D;
import boofcv.struct.image.ImageBase;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Override for normalized convolutions
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageBox.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageBox.java
index 8094e25d9a..5b10ae78f4 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageBox.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageBox.java
@@ -30,7 +30,7 @@
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
/**
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageMean.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageMean.java
index 79f1b524a3..2e316de185 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageMean.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageMean.java
@@ -34,7 +34,7 @@
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_F64;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageNoBorder.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageNoBorder.java
index 8543e90b6f..86dc50a6a3 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageNoBorder.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/ConvolveImageNoBorder.java
@@ -24,7 +24,7 @@
import boofcv.struct.convolve.*;
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageStandard_SB.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageStandard_SB.java
index f4f49a14ee..302e27c721 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageStandard_SB.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageStandard_SB.java
@@ -22,7 +22,7 @@
import boofcv.struct.convolve.*;
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S16_I16_Div.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S16_I16_Div.java
index c2950d9a8f..b11bba006d 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S16_I16_Div.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S16_I16_Div.java
@@ -24,7 +24,7 @@
import boofcv.struct.image.GrayI16;
import boofcv.struct.image.GrayS16;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S32_S32_Div.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S32_S32_Div.java
index 96ab370953..2162857ccf 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S32_S32_Div.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_S32_S32_Div.java
@@ -23,7 +23,7 @@
import boofcv.struct.convolve.Kernel2D_S32;
import boofcv.struct.image.GrayS32;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U16_I16_Div.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U16_I16_Div.java
index e60fec9b33..d795f410f9 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U16_I16_Div.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U16_I16_Div.java
@@ -24,7 +24,7 @@
import boofcv.struct.image.GrayI16;
import boofcv.struct.image.GrayU16;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U8_I8_Div.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U8_I8_Div.java
index 25992382e5..55d2e906ca 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U8_I8_Div.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ConvolveImageUnrolled_SB_U8_I8_Div.java
@@ -24,7 +24,7 @@
import boofcv.struct.image.GrayI8;
import boofcv.struct.image.GrayU8;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveBox.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveBox.java
index d10d42892e..21aeb74ff5 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveBox.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveBox.java
@@ -23,7 +23,7 @@
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_F64;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveMean.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveMean.java
index b015ee5008..b21d7cd38a 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveMean.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/convolve/noborder/ImplConvolveMean.java
@@ -23,7 +23,7 @@
import org.ddogleg.struct.DogArray_F32;
import org.ddogleg.struct.DogArray_F64;
import org.ddogleg.struct.DogArray_I32;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/DerivativeLaplacian.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/DerivativeLaplacian.java
index 3cd6f915c0..31e6e58d31 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/DerivativeLaplacian.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/DerivativeLaplacian.java
@@ -29,7 +29,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientPrewitt.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientPrewitt.java
index eaf581c676..2fcb1647af 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientPrewitt.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientPrewitt.java
@@ -33,7 +33,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Operations for computing Prewitt image gradient.
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientScharr.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientScharr.java
index e78745cf51..d7aabc5ae6 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientScharr.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientScharr.java
@@ -33,7 +33,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Implementation of the standard 3x3 Scharr operator. (1/32)*[-1;0;1]**[3 10 3] = (1/3)*[-3 10 -3;0 0 0;3 10 3].
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientSobel.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientSobel.java
index b2b79fa339..35d70529bc 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientSobel.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientSobel.java
@@ -35,7 +35,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientThree.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientThree.java
index 94623b17d9..85a23d8d7d 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientThree.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientThree.java
@@ -29,7 +29,7 @@
import boofcv.struct.convolve.Kernel1D_F32;
import boofcv.struct.convolve.Kernel1D_S32;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo0.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo0.java
index b01a8357a1..c7dbda5d58 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo0.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo0.java
@@ -32,7 +32,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo1.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo1.java
index 57e9f18d19..7faf71dd33 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo1.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/GradientTwo1.java
@@ -32,7 +32,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianFromGradient.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianFromGradient.java
index a600d9b48d..dd6576c6ed 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianFromGradient.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianFromGradient.java
@@ -28,7 +28,7 @@
import boofcv.struct.border.ImageBorder_S32;
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayS16;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianSobel.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianSobel.java
index 53659950bc..1e8a79c9f0 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianSobel.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianSobel.java
@@ -30,7 +30,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThree.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThree.java
index 286003b825..4ead8df1d2 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThree.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThree.java
@@ -32,7 +32,7 @@
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThreeDeterminant.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThreeDeterminant.java
index bbabbe2d4e..6f693a36bc 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThreeDeterminant.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/derivative/HessianThreeDeterminant.java
@@ -27,7 +27,7 @@
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.GrayS16;
import boofcv.struct.image.GrayU8;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/filter/misc/ImageLambdaFilters.java b/main/boofcv-ip/src/main/java/boofcv/alg/filter/misc/ImageLambdaFilters.java
index e62e364fe4..285f572b80 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/filter/misc/ImageLambdaFilters.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/filter/misc/ImageLambdaFilters.java
@@ -19,7 +19,7 @@
package boofcv.alg.filter.misc;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageBandMath.java b/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageBandMath.java
index aff2839a1d..f547470bdc 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageBandMath.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageBandMath.java
@@ -19,7 +19,7 @@
package boofcv.alg.misc;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Collection of functions that project Bands of Planar images onto
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageMiscOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageMiscOps.java
index 6e69f726a4..9b9e9bb3c4 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageMiscOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/misc/GImageMiscOps.java
@@ -21,7 +21,7 @@
import boofcv.misc.BoofMiscOps;
import boofcv.struct.border.*;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Random;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageBandMath.java b/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageBandMath.java
index 7abbf252cf..03b359d6d9 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageBandMath.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageBandMath.java
@@ -22,7 +22,7 @@
import boofcv.alg.misc.impl.ImplImageBandMath_MT;
import boofcv.concurrency.BoofConcurrency;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import javax.annotation.Generated;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageMiscOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageMiscOps.java
index 7d57fbe2cf..4c751488fa 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageMiscOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageMiscOps.java
@@ -28,7 +28,7 @@
import boofcv.struct.border.ImageBorder_S32;
import boofcv.struct.border.ImageBorder_S64;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import javax.annotation.Generated;
import java.util.Random;
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageNormalization.java b/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageNormalization.java
index 906b361d38..07b0392d2a 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageNormalization.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/misc/ImageNormalization.java
@@ -19,7 +19,7 @@
package boofcv.alg.misc;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Functions related to adjusting input pixels to ensure they have a known and fixed range. Can handle the
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/CensusTransform.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/CensusTransform.java
index c86cd2f0be..9ba2aa0f1d 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/CensusTransform.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/CensusTransform.java
@@ -31,7 +31,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.DogArray_I32;
import org.ddogleg.struct.FastAccess;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* The Census Transform [1] computes a bit mask for each pixel in the image. If a neighboring pixel is greater than the
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/GCensusTransform.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/GCensusTransform.java
index 76a68dd223..a04fb58758 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/GCensusTransform.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/census/GCensusTransform.java
@@ -25,7 +25,7 @@
import georegression.struct.point.Point2D_I32;
import org.ddogleg.struct.DogArray_I32;
import org.ddogleg.struct.FastAccess;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* The Census Transform [1] computes a bit mask for each pixel in the image. If a neighboring pixel is greater than the
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/DerivativeIntegralImage.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/DerivativeIntegralImage.java
index e935feaf19..bc191e18cc 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/DerivativeIntegralImage.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/DerivativeIntegralImage.java
@@ -20,7 +20,7 @@
import boofcv.struct.image.GrayF32;
import org.jetbrains.annotations.NotNull;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Functions related to image derivatives in integral images.
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/GIntegralImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/GIntegralImageOps.java
index 5341ba9be7..e3b7bb5798 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/GIntegralImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/GIntegralImageOps.java
@@ -19,7 +19,7 @@
package boofcv.alg.transform.ii;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Provides a mechanism to call {@link IntegralImageOps} with unknown types at compile time.
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/IntegralImageOps.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/IntegralImageOps.java
index 98ce6e6421..aa8f72f26c 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/IntegralImageOps.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/ii/IntegralImageOps.java
@@ -25,7 +25,7 @@
import boofcv.concurrency.BoofConcurrency;
import boofcv.struct.ImageRectangle;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteAverage.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteAverage.java
index 5e25e92693..1c629d7bff 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteAverage.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteAverage.java
@@ -24,7 +24,7 @@
import boofcv.struct.pyramid.ConfigDiscreteLevels;
import boofcv.struct.pyramid.ImagePyramid;
import boofcv.struct.pyramid.PyramidDiscrete;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Creates an image pyramid by down sampling square regions using {@link AverageDownSampleOps}.
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteSampleBlur.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteSampleBlur.java
index f6df8a8018..8af69ec0e0 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteSampleBlur.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/pyramid/PyramidDiscreteSampleBlur.java
@@ -27,7 +27,7 @@
import boofcv.struct.pyramid.ConfigDiscreteLevels;
import boofcv.struct.pyramid.ImagePyramid;
import boofcv.struct.pyramid.PyramidDiscrete;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
diff --git a/main/boofcv-ip/src/main/java/boofcv/alg/transform/wavelet/UtilWavelet.java b/main/boofcv-ip/src/main/java/boofcv/alg/transform/wavelet/UtilWavelet.java
index e47f962f3e..8c8c4198a9 100644
--- a/main/boofcv-ip/src/main/java/boofcv/alg/transform/wavelet/UtilWavelet.java
+++ b/main/boofcv-ip/src/main/java/boofcv/alg/transform/wavelet/UtilWavelet.java
@@ -25,7 +25,7 @@
import boofcv.struct.image.*;
import boofcv.struct.wavelet.WlBorderCoef;
import boofcv.struct.wavelet.WlCoef;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Various functions which are useful when working with or computing wavelet transforms.
diff --git a/main/boofcv-ip/src/main/java/boofcv/core/encoding/ConvertYuv420_888.java b/main/boofcv-ip/src/main/java/boofcv/core/encoding/ConvertYuv420_888.java
index 2a42db9e0f..5a97d6e44d 100644
--- a/main/boofcv-ip/src/main/java/boofcv/core/encoding/ConvertYuv420_888.java
+++ b/main/boofcv-ip/src/main/java/boofcv/core/encoding/ConvertYuv420_888.java
@@ -24,7 +24,7 @@
import boofcv.misc.BoofMiscOps;
import boofcv.struct.image.*;
import org.ddogleg.struct.DogArray_I8;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import pabeles.concurrency.GrowArray;
import java.nio.ByteBuffer;
diff --git a/main/boofcv-ip/src/main/java/boofcv/factory/denoise/FactoryDenoiseWaveletAlg.java b/main/boofcv-ip/src/main/java/boofcv/factory/denoise/FactoryDenoiseWaveletAlg.java
index 8776fc3cfd..396dc8263f 100644
--- a/main/boofcv-ip/src/main/java/boofcv/factory/denoise/FactoryDenoiseWaveletAlg.java
+++ b/main/boofcv-ip/src/main/java/boofcv/factory/denoise/FactoryDenoiseWaveletAlg.java
@@ -26,7 +26,7 @@
import boofcv.alg.denoise.wavelet.ShrinkThresholdSoft_F32;
import boofcv.struct.image.GrayF32;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating wavelet based image denoising classes.
diff --git a/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryBinaryContourFinder.java b/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryBinaryContourFinder.java
index 63a4520659..2066854ce0 100644
--- a/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryBinaryContourFinder.java
+++ b/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryBinaryContourFinder.java
@@ -21,7 +21,7 @@
import boofcv.abst.filter.binary.BinaryLabelContourFinder;
import boofcv.override.BOverrideClass;
import boofcv.override.BOverrideManager;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Override for {@link FactoryBinaryContourFinder}.+
diff --git a/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryThresholdBinary.java b/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryThresholdBinary.java
index e2ba45a145..101860ba22 100644
--- a/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryThresholdBinary.java
+++ b/main/boofcv-ip/src/main/java/boofcv/factory/filter/binary/BOverrideFactoryThresholdBinary.java
@@ -23,7 +23,7 @@
import boofcv.override.BOverrideManager;
import boofcv.struct.ConfigLength;
import boofcv.struct.image.ImageGray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Override functions which allows external code to be called instead of BoofCV for thresholding operations.
diff --git a/main/boofcv-ip/src/main/java/boofcv/factory/filter/blur/FactoryBlurFilter.java b/main/boofcv-ip/src/main/java/boofcv/factory/filter/blur/FactoryBlurFilter.java
index 8d13c2272b..66429729f6 100644
--- a/main/boofcv-ip/src/main/java/boofcv/factory/filter/blur/FactoryBlurFilter.java
+++ b/main/boofcv-ip/src/main/java/boofcv/factory/filter/blur/FactoryBlurFilter.java
@@ -23,7 +23,7 @@
import boofcv.struct.image.ImageBase;
import boofcv.struct.image.ImageGray;
import boofcv.struct.image.ImageType;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Factory for creating different blur image filters.
diff --git a/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivative.java b/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivative.java
index fde0dce640..88b3a52920 100644
--- a/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivative.java
+++ b/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivative.java
@@ -24,7 +24,7 @@
import boofcv.struct.border.ImageBorder_F32;
import boofcv.struct.border.ImageBorder_S32;
import boofcv.struct.image.*;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.lang.reflect.Method;
diff --git a/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivativeSparse.java b/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivativeSparse.java
index a2fb3df5c8..ca3212601f 100644
--- a/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivativeSparse.java
+++ b/main/boofcv-ip/src/main/java/boofcv/factory/filter/derivative/FactoryDerivativeSparse.java
@@ -37,7 +37,7 @@
import boofcv.struct.image.ImageGray;
import boofcv.struct.sparse.GradientValue;
import boofcv.struct.sparse.SparseImageGradient;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Creates filters for performing sparse derivative calculations.
diff --git a/main/boofcv-learning/src/main/java/boofcv/alg/bow/LearnSceneFromFiles.java b/main/boofcv-learning/src/main/java/boofcv/alg/bow/LearnSceneFromFiles.java
index bd937c332b..58765a6000 100644
--- a/main/boofcv-learning/src/main/java/boofcv/alg/bow/LearnSceneFromFiles.java
+++ b/main/boofcv-learning/src/main/java/boofcv/alg/bow/LearnSceneFromFiles.java
@@ -20,7 +20,7 @@
import boofcv.struct.learning.ClassificationHistogram;
import boofcv.struct.learning.Confusion;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.File;
import java.util.*;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/AztecCodePreciseDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/AztecCodePreciseDetector.java
index 6f2c5a2af4..747f168a34 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/AztecCodePreciseDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/AztecCodePreciseDetector.java
@@ -30,7 +30,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.VerbosePrint;
import org.ddogleg.util.VerboseUtils;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.ArrayList;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/CalibrationFiducialDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/CalibrationFiducialDetector.java
index cbf3f5aab3..0d35ef9b6b 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/CalibrationFiducialDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/CalibrationFiducialDetector.java
@@ -35,7 +35,7 @@
import georegression.struct.point.Point2D_F64;
import georegression.struct.shapes.Polygon2D_F64;
import org.ejml.UtilEjml;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/ECoCheck_to_FiducialDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/ECoCheck_to_FiducialDetector.java
index de131e5b8a..e4334acf1f 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/ECoCheck_to_FiducialDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/ECoCheck_to_FiducialDetector.java
@@ -41,7 +41,7 @@
import org.ejml.data.DMatrixRMaj;
import org.ejml.dense.fixed.CommonOps_DDF3;
import org.ejml.ops.DConvertMatrixStruct;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
import java.util.Objects;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetector.java
index 098a5bcd91..d017f76d8e 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetector.java
@@ -24,7 +24,7 @@
import georegression.struct.point.Point2D_F64;
import georegression.struct.se.Se3_F64;
import georegression.struct.shapes.Polygon2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Interface for detecting fiducial markers and their location in the image. Optionally, some implementations
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetectorPnP.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetectorPnP.java
index 297f654ebd..2a9b3b1060 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetectorPnP.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/FiducialDetectorPnP.java
@@ -30,7 +30,7 @@
import georegression.struct.point.Point2D_F64;
import georegression.struct.se.Se3_F64;
import org.ddogleg.struct.DogArray_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodeDetectorPnP.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodeDetectorPnP.java
index cf04673a08..5907a130ad 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodeDetectorPnP.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodeDetectorPnP.java
@@ -32,7 +32,7 @@
import georegression.transform.homography.HomographyPointOps_F64;
import lombok.Getter;
import org.ejml.UtilEjml;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodePreciseDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodePreciseDetector.java
index 2e7826e28d..b6340e22f8 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodePreciseDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/MicroQrCodePreciseDetector.java
@@ -33,7 +33,7 @@
import lombok.Getter;
import org.ddogleg.struct.VerbosePrint;
import org.ddogleg.util.VerboseUtils;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodeDetectorPnP.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodeDetectorPnP.java
index e6ebb12c19..28289a748c 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodeDetectorPnP.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodeDetectorPnP.java
@@ -31,7 +31,7 @@
import georegression.struct.se.Se3_F64;
import georegression.struct.shapes.Polygon2D_F64;
import org.ejml.UtilEjml;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodePreciseDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodePreciseDetector.java
index 39980aed56..9b44d09fa4 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodePreciseDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/QrCodePreciseDetector.java
@@ -28,7 +28,7 @@
import boofcv.struct.image.GrayU8;
import boofcv.struct.image.ImageGray;
import lombok.Getter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/SquareBase_to_FiducialDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/SquareBase_to_FiducialDetector.java
index 38e406c166..6292ca38ee 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/SquareBase_to_FiducialDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/SquareBase_to_FiducialDetector.java
@@ -33,7 +33,7 @@
import georegression.struct.se.Se3_F64;
import georegression.struct.shapes.Polygon2D_F64;
import georegression.struct.shapes.Quadrilateral_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/Uchiya_to_FiducialDetector.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/Uchiya_to_FiducialDetector.java
index 104c562102..5602d23137 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/Uchiya_to_FiducialDetector.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/Uchiya_to_FiducialDetector.java
@@ -32,7 +32,7 @@
import lombok.Getter;
import lombok.Setter;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.PrintStream;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardBinary.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardBinary.java
index 2c56dcafa7..a98572f8c2 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardBinary.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardBinary.java
@@ -33,7 +33,7 @@
import boofcv.struct.image.GrayF32;
import georegression.struct.point.Point2D_F32;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardX.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardX.java
index 6062080cb2..b39d5ff521 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardX.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorChessboardX.java
@@ -31,7 +31,7 @@
import georegression.struct.point.Point2D_F64;
import lombok.Getter;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleHexagonalGrid.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleHexagonalGrid.java
index 6018bd52dc..2226271430 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleHexagonalGrid.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleHexagonalGrid.java
@@ -38,7 +38,7 @@
import georegression.struct.point.Point2D_F32;
import georegression.struct.point.Point2D_F64;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleRegularGrid.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleRegularGrid.java
index e4f0c0009c..adcdb42494 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleRegularGrid.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorCircleRegularGrid.java
@@ -37,7 +37,7 @@
import georegression.struct.point.Point2D_F32;
import georegression.struct.point.Point2D_F64;
import org.ddogleg.struct.DogArray;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorMultiECoCheck.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorMultiECoCheck.java
index 002d70b19e..76e03c8653 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorMultiECoCheck.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorMultiECoCheck.java
@@ -32,7 +32,7 @@
import gnu.trove.map.hash.TIntObjectHashMap;
import lombok.Getter;
import org.ddogleg.struct.FastAccess;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorSquareGrid.java b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorSquareGrid.java
index 681929f6c7..f6f79252e4 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorSquareGrid.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/fiducial/calib/CalibrationDetectorSquareGrid.java
@@ -33,7 +33,7 @@
import boofcv.struct.image.GrayF32;
import georegression.struct.point.Point2D_F32;
import georegression.struct.point.Point2D_F64;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
diff --git a/main/boofcv-recognition/src/main/java/boofcv/abst/scene/FeatureSceneRecognition.java b/main/boofcv-recognition/src/main/java/boofcv/abst/scene/FeatureSceneRecognition.java
index 7d6bdb2ad1..cc409a54f6 100644
--- a/main/boofcv-recognition/src/main/java/boofcv/abst/scene/FeatureSceneRecognition.java
+++ b/main/boofcv-recognition/src/main/java/boofcv/abst/scene/FeatureSceneRecognition.java
@@ -24,7 +24,7 @@
import org.ddogleg.struct.DogArray;
import org.ddogleg.struct.DogArray_I32;
import org.ddogleg.struct.VerbosePrint;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.util.Iterator;
import java.util.List;
@@ -77,7 +77,7 @@ public interface FeatureSceneRecognition
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageBase.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageBase.java
index b2d81bd9dd..0d02a97e89 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageBase.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageBase.java
@@ -20,7 +20,7 @@
import lombok.Getter;
import lombok.Setter;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.io.Serializable;
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageGray.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageGray.java
index 0c6c01f53b..65a846f83f 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageGray.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageGray.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.lang.reflect.Array;
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageInterleaved.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageInterleaved.java
index 1c8a2e60a0..2e8ec4c1d5 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageInterleaved.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/ImageInterleaved.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.lang.reflect.Array;
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF32.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF32.java
index acbcdeeca1..1bb8ed302d 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF32.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF32.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
@@ -61,7 +61,7 @@ public InterleavedF32( int width, int height, int numBands ) {
* @param storage If not null then the pixel's value is written here. If null a new array is created.
* @return The pixel's value.
*/
- public float[] get( int x, int y, @Nullable float[] storage ) {
+ public float[] get( int x, int y, float @Nullable [] storage ) {
if (!isInBounds(x, y))
throw new ImageAccessException("Requested pixel is out of bounds");
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF64.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF64.java
index 334fedce99..add9b38366 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF64.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedF64.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
@@ -61,7 +61,7 @@ public InterleavedF64( int width, int height, int numBands ) {
* @param storage If not null then the pixel's value is written here. If null a new array is created.
* @return The pixel's value.
*/
- public double[] get( int x, int y, @Nullable double[] storage ) {
+ public double[] get( int x, int y, double @Nullable [] storage ) {
if (!isInBounds(x, y))
throw new ImageAccessException("Requested pixel is out of bounds");
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI16.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI16.java
index 957f07897f..1f8953a90b 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI16.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI16.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
@@ -63,7 +63,7 @@ public ImageDataType getDataType() {
* @param storage If not null then the pixel's value is written here. If null a new array is created.
* @return The pixel's value.
*/
- public short[] get( int x, int y, @Nullable short[] storage ) {
+ public short[] get( int x, int y, short @Nullable [] storage ) {
if (!isInBounds(x, y))
throw new ImageAccessException("Requested pixel is out of bounds");
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI8.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI8.java
index 3203f15787..cebc75e9b1 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI8.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedI8.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
@@ -63,7 +63,7 @@ public ImageDataType getDataType() {
* @param storage If not null then the pixel's value is written here. If null a new array is created.
* @return The pixel's value.
*/
- public byte[] get( int x, int y, @Nullable byte[] storage ) {
+ public byte[] get( int x, int y, byte @Nullable [] storage ) {
if (!isInBounds(x, y))
throw new ImageAccessException("Requested pixel is out of bounds");
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedInteger.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedInteger.java
index 9c9c7dc352..dd50ec8f51 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedInteger.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedInteger.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
* Base class for integer interleaved images.
@@ -48,7 +48,7 @@ protected InterleavedInteger() {}
* @param storage If not null then the pixel's value is written here. If null a new array is created.
* @return The pixel's value.
*/
- public int[] get( int x, int y, @Nullable int[] storage ) {
+ public int[] get( int x, int y, int @Nullable [] storage ) {
if (!isInBounds(x, y))
throw new ImageAccessException("Requested pixel is out of bounds");
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedS64.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedS64.java
index be5b06a0bb..098e8a9735 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedS64.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/InterleavedS64.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
/**
*
@@ -63,7 +63,7 @@ public ImageDataType getDataType() {
* @param storage If not null then the pixel's value is written here. If null a new array is created.
* @return The pixel's value.
*/
- public long[] get( int x, int y, @Nullable long[] storage ) {
+ public long[] get( int x, int y, long @Nullable [] storage ) {
if (!isInBounds(x, y))
throw new ImageAccessException("Requested pixel is out of bounds");
diff --git a/main/boofcv-types/src/noauto/java/boofcv/struct/image/Planar.java b/main/boofcv-types/src/noauto/java/boofcv/struct/image/Planar.java
index 992dbf9a25..3779c59590 100644
--- a/main/boofcv-types/src/noauto/java/boofcv/struct/image/Planar.java
+++ b/main/boofcv-types/src/noauto/java/boofcv/struct/image/Planar.java
@@ -18,7 +18,7 @@
package boofcv.struct.image;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import java.lang.reflect.Array;
diff --git a/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageGray.java b/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageGray.java
index 60c8e507db..9ba81042ac 100644
--- a/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageGray.java
+++ b/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageGray.java
@@ -19,7 +19,7 @@
package boofcv.struct.image;
import boofcv.testing.BoofStandardJUnit;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
diff --git a/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageInterleaved.java b/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageInterleaved.java
index eb0667717e..d98a627326 100644
--- a/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageInterleaved.java
+++ b/main/boofcv-types/src/test/java/boofcv/struct/image/TestImageInterleaved.java
@@ -19,7 +19,7 @@
package boofcv.struct.image;
import boofcv.testing.BoofStandardJUnit;
-import org.jetbrains.annotations.Nullable;
+import org.jspecify.annotations.Nullable;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
diff --git a/main/boofcv-types/src/test/java/boofcv/testing/BoofStandardJUnit.java b/main/boofcv-types/src/test/java/boofcv/testing/BoofStandardJUnit.java
index ac11dfec00..3e6c593db9 100644
--- a/main/boofcv-types/src/test/java/boofcv/testing/BoofStandardJUnit.java
+++ b/main/boofcv-types/src/test/java/boofcv/testing/BoofStandardJUnit.java
@@ -27,6 +27,7 @@
import org.ejml.data.FMatrix;
import org.ejml.ops.MatrixFeatures_D;
import org.ejml.ops.MatrixFeatures_F;
+import org.jspecify.annotations.NonNull;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
@@ -413,7 +414,7 @@ public MirrorStream( PrintStream out ) {
out.write(b);
}
- @Override public void write( byte[] b, int off, int len ) throws IOException {
+ @Override public void write( byte @NonNull [] b, int off, int len ) throws IOException {
used = true;
out.write(b, off, len);
}
> extends Verbo
* that means matches is empty. This is strictly a convenience.
*/
boolean query( Features query,
- @Nullable BoofLambdas.Filter db ) {
return storage;
}
- @Override public boolean query( Features query, @Nullable BoofLambdas.Filter query, BoofLambdas.@Nullable Filter