Skip to content

Commit

Permalink
Homogenous -> Homogeneous (Wide spread spelling error)
Browse files Browse the repository at this point in the history
  • Loading branch information
lessthanoptimal committed Aug 6, 2024
1 parent dd11f93 commit 2866bd1
Show file tree
Hide file tree
Showing 98 changed files with 386 additions and 380 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -620,7 +620,7 @@ public void handleFused( String name, GrayF32 inverseDepth ) {
}

private void saveSparseCloudToDisk( File outputDirectory ) {
checkTrue(scene.isHomogenous());
checkTrue(scene.isHomogeneous());
List<Point3D_F64> cloudXyz = new ArrayList<>();
Point4D_F64 world = new Point4D_F64();

Expand Down
6 changes: 6 additions & 0 deletions change.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,12 @@ Version Meaning: <compatible>.<feature>.<bug fix>

---------------------
Date : 2024/XXX/XX
Version : 1.1.6

- Homogenous -> Homogeneous (Wide spread spelling error)

---------------------
Date : 2024/Jun/27
Version : 1.1.5

- PerspectiveOps
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -348,7 +348,7 @@ public void bundleAdjustmentRefine() {
* scene.
*/
public void visualizeSparseCloud() {
checkTrue(scene.isHomogenous());
checkTrue(scene.isHomogeneous());
List<Point3D_F64> cloudXyz = new ArrayList<>();
Point4D_F64 world = new Point4D_F64();

Expand All @@ -365,7 +365,7 @@ public void visualizeSparseCloud() {
( viewIdx ) -> viewIdx + "", // String encodes the image's index
( pointIdx, r, g, b ) -> rgb.set(pointIdx, (r << 16) | (g << 8) | b)); // Assign the RGB color

// Convert the structure into regular 3D points from homogenous
// Convert the structure into regular 3D points from homogeneous
for (int i = 0; i < scene.points.size; i++) {
scene.points.get(i).get(world);
// If the point is at infinity it's not clear what to do. It would be best to skip it then the color
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -55,8 +55,8 @@ public static void main( String[] args ) {
var view0_to_view1 = eulerXyz(-0.15, 0.05, 0, 0, 0, 0.05, null);

// Initialize data structures by telling it the number of features, cameras, views, motions
// Homogenous coordinates will be used since they can handle points at infinity
var structure = new SceneStructureMetric(/*homogenous*/ true);
// Homogeneous coordinates will be used since they can handle points at infinity
var structure = new SceneStructureMetric(/*homogeneous*/ true);
var observations = new SceneObservations();

// Index of the motion where the stereo baseline is stored
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -62,7 +62,7 @@ public static void main( String[] args ) {
// One thing that you can do with a trifocal tensor is transfer points from one view onto another
// Similar to what you would do with a homography.
AssociatedTriple match = inliers.get(4);
Point3D_F64 predicted3 = new Point3D_F64(); // pixel, but in homogenous coordinates
Point3D_F64 predicted3 = new Point3D_F64(); // pixel, but in homogeneous coordinates
MultiViewOps.transfer_1_to_3(tensor, match.p1, match.p2, predicted3);

System.out.printf("Predicted x3=(%.1f, %.1f) actual=(%.1f, %.1f)\n",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -25,7 +25,7 @@
/**
* <p>
* Interface for computing multiple solution to the Projective N-Point (PrNP) problem. Given a set of
* observations from a single view and the known 3D homogenous location of the points being observed, estimate
* observations from a single view and the known 3D homogeneous location of the points being observed, estimate
* the projective camera transform.
* </p>
* <p>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -25,7 +25,7 @@
/**
* <p>
* Interface for computing multiple solution to the Projective N-Point (PrNP) problem. Given a set of
* observations from a single view and the known 3D homogenous location of the points being observed, estimate
* observations from a single view and the known 3D homogeneous location of the points being observed, estimate
* the projective camera transform.
* </p>
* <p>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -25,7 +25,7 @@
import java.util.List;

/**
* Refines a triangulated point's (homogenous coordinate) location using non-linear optimization. A calibrated
* Refines a triangulated point's (homogeneous coordinate) location using non-linear optimization. A calibrated
* camera is assumed. All observations are in normalized image coordinates.
*
* @author Peter Abeles
Expand All @@ -37,8 +37,8 @@ public interface RefineTriangulateMetricH {
*
* @param observations Observations of feature in N views. Normalized image coordinates.
* @param listWorldToView Coordinate transforms for each view. World to View.
* @param worldPt Initial estimate of point in world coordinates. Homogenous.
* @param refinedPt The refined estimated point position. Homogenous.
* @param worldPt Initial estimate of point in world coordinates. Homogeneous.
* @param refinedPt The refined estimated point position. Homogeneous.
* @return if successful or not
*/
boolean process( List<Point2D_F64> observations,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -23,7 +23,7 @@
import georegression.struct.se.Se3_F64;

/**
* Triangulate the location of a homogenous 3D point from two views of a feature given a 3D pointing vector.
* Triangulate the location of a homogeneous 3D point from two views of a feature given a 3D pointing vector.
*
* @author Peter Abeles
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -23,7 +23,7 @@
import georegression.struct.se.Se3_F64;

/**
* Triangulate the location of a homogenous 3D point from two views of a feature given a calibrated
* Triangulate the location of a homogeneous 3D point from two views of a feature given a calibrated
* camera and known camera motion.
*
* @author Peter Abeles
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -37,7 +37,7 @@ public interface Triangulate2ViewsProjective {
* @param obsB View from position B in pixels
* @param projectionA Camera matrix for view A. x = P*X
* @param projectionB Camera matrix for view B. x = P*X
* @param foundInA The found triangulated 3D point in A's reference frame. Homogenous coordinates.
* @param foundInA The found triangulated 3D point in A's reference frame. Homogeneous coordinates.
* @return true if successful, false otherwise.
*/
boolean triangulate( Point2D_F64 obsA, Point2D_F64 obsB,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2020, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -25,7 +25,7 @@
import java.util.List;

/**
* Triangulate the location of a 3D point in homogenous coordinates from N views a calibrated camera and known poses.
* Triangulate the location of a 3D point in homogeneous coordinates from N views a calibrated camera and known poses.
*
* @author Peter Abeles
*/
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -37,7 +37,7 @@ public interface TriangulateNViewsProjective {
*
* @param observations (Input) Observations of the 3D point in pixel coordinates from different camera views
* @param cameraMatrices (Input) Camera projection matrices. x = A*X
* @param location (Output) Homogenous coordinate of 3D feature in world coordinates.
* @param location (Output) Homogeneous coordinate of 3D feature in world coordinates.
* @return true if successful, false otherwise.
*/
boolean triangulate( List<Point2D_F64> observations, List<DMatrixRMaj> cameraMatrices, Point4D_F64 location );
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2023, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -56,9 +56,9 @@ public class MetricBundleAdjustmentUtils implements VerbosePrint {

@Nullable PrintStream verbose;

public MetricBundleAdjustmentUtils( @Nullable ConfigTriangulation triangulation, boolean homogenous ) {
public MetricBundleAdjustmentUtils( @Nullable ConfigTriangulation triangulation, boolean homogeneous ) {
triangulator = FactoryMultiView.triangulateNViewMetricH(triangulation);
structure = new SceneStructureMetric(homogenous);
structure = new SceneStructureMetric(homogeneous);

var configSba = new ConfigBundleAdjustment();
configSba.optimizer.type = ConfigNonLinearLeastSquares.Type.LEVENBERG_MARQUARDT;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2021, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -72,7 +72,7 @@ public void pruneObservationsByErrorRank( double inlierFraction ) {
v.getPixel(indexInView, observation);

// Get feature location in world and predict the pixel observation
if (structure.homogenous) {
if (structure.homogeneous) {
f.get(X4);
PerspectiveOps.renderPixel(view.worldToView, X4, predicted);
} else {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand Down Expand Up @@ -31,10 +31,10 @@

/**
* Normalizes variables in the scene to improve optimization performance. Different normalization is applied
* depending on the points being homogenous or not, metric or projective.
* depending on the points being homogeneous or not, metric or projective.
*
* <p>
* Homogenous:<br>
* Homogeneous:<br>
* Each point is normalized such that the F-norm is equal to 1. Same goes for translation if metric.
* </p>
* <p>
Expand Down Expand Up @@ -92,8 +92,8 @@ public ScaleSceneStructure() {
public void applyScale( SceneStructureMetric structure,
SceneObservations observations ) {

if (structure.homogenous) {
applyScaleToPointsHomogenous(structure);
if (structure.homogeneous) {
applyScaleToPointsHomogeneous(structure);
} else {
computePointStatistics(structure.points);
applyScaleToPoints3D(structure);
Expand All @@ -111,8 +111,8 @@ public void applyScale( SceneStructureMetric structure,
*/
public void applyScale( SceneStructureProjective structure,
SceneObservations observations ) {
if (structure.homogenous) {
applyScaleToPointsHomogenous(structure);
if (structure.homogeneous) {
applyScaleToPointsHomogeneous(structure);
} else {
computePointStatistics(structure.points);
applyScaleToPoints3D(structure);
Expand Down Expand Up @@ -278,7 +278,7 @@ private void applyScaleTranslation3D( SceneStructureProjective structure ) {
public void undoScale( SceneStructureMetric structure,
SceneObservations observations ) {

if (structure.homogenous)
if (structure.homogeneous)
return;

double scale = desiredDistancePoint/medianDistancePoint;
Expand Down Expand Up @@ -312,7 +312,7 @@ public void undoScale( SceneStructureMetric structure,
public void undoScale( SceneStructureProjective structure,
SceneObservations observations ) {

if (!structure.homogenous) {
if (!structure.homogeneous) {

double scale = desiredDistancePoint/medianDistancePoint;

Expand Down Expand Up @@ -388,7 +388,7 @@ void applyScaleToPoints3D( SceneStructureCommon structure ) {
}
}

void applyScaleToPointsHomogenous( SceneStructureCommon structure ) {
void applyScaleToPointsHomogeneous( SceneStructureCommon structure ) {

Point4D_F64 p = new Point4D_F64();
for (int i = 0; i < structure.points.size; i++) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2011-2018, Peter Abeles. All Rights Reserved.
* Copyright (c) 2024, Peter Abeles. All Rights Reserved.
*
* This file is part of BoofCV (http://boofcv.org).
*
Expand All @@ -25,11 +25,11 @@
*/
public interface SceneStructure {
/**
* If true then homogenous coordinates are being used.
* If true then homogeneous coordinates are being used.
*
* @return true if homogenous coordinates
* @return true if homogeneous coordinates
*/
boolean isHomogenous();
boolean isHomogeneous();

int getParameterCount();
}
Loading

0 comments on commit 2866bd1

Please sign in to comment.