From f826c9acb80414f76925b7634236a956a84c3cbe Mon Sep 17 00:00:00 2001 From: Hari Nair Date: Wed, 30 Jul 2025 11:24:30 -0400 Subject: [PATCH] updates for v1.1.0 --- CHANGELOG.md | 15 + .../Terrasaur-2025.03.03-e1a0e14-src.tar.gz | Bin 125 -> 0 bytes .../Terrasaur-2025.03.03-e1a0e14_*.tar.gz | Bin 64 -> 0 bytes doc/index.rst | 2 +- doc/make.bat | 70 +-- doc/tools/ColorSpots.rst | 70 +++ doc/tools/CompareOBJ.rst | 18 +- doc/tools/PointCloudOverlap.rst | 38 ++ doc/tools/TriAx.rst | 43 ++ doc/tools/images/PointCloudOverlap_1.png | Bin 0 -> 177884 bytes doc/tools/images/PointCloudOverlap_2.png | Bin 0 -> 142435 bytes doc/tools/images/TriAx_X.png | Bin 0 -> 23576 bytes doc/tools/images/TriAx_Y.png | Bin 0 -> 24178 bytes doc/tools/images/TriAx_Z.png | Bin 0 -> 29482 bytes mkPackage.bash | 2 +- pom.xml | 48 +- .../AdjustShapeModelToOtherShapeModel.java | 74 ++-- .../terrasaur/apps/CreateSBMTStructure.java | 67 ++- src/main/java/terrasaur/apps/FacetInfo.java | 258 +++++++++++ .../apps/PointCloudFormatConverter.java | 4 +- .../terrasaur/apps/PointCloudOverlap.java | 417 ++++++++++++++++++ .../apps/RenderShapeFromSumFile.java | 8 +- src/main/java/terrasaur/apps/TriAx.java | 166 +++++++ .../java/terrasaur/apps/ValidateNormals.java | 33 +- src/main/java/terrasaur/apps/ValidateOBJ.java | 6 +- src/main/java/terrasaur/utils/CellInfo.java | 2 +- src/main/java/terrasaur/utils/ICQUtils.java | 111 +++++ .../java/terrasaur/utils/PolyDataUtil.java | 22 +- src/main/java/terrasaur/utils/SumFile.java | 323 ++++++++------ .../utils/tessellation/FibonacciSphere.java | 14 +- .../tessellation/StereographicProjection.java | 9 +- .../java/terrasaur/utils/SumFileTest.java | 69 ++- 32 files changed, 1588 insertions(+), 301 deletions(-) delete mode 100644 doc/dist/Terrasaur-2025.03.03-e1a0e14-src.tar.gz delete mode 100644 doc/dist/Terrasaur-2025.03.03-e1a0e14_*.tar.gz create mode 100644 doc/tools/ColorSpots.rst create mode 100644 doc/tools/PointCloudOverlap.rst create mode 100644 doc/tools/TriAx.rst create mode 100644 doc/tools/images/PointCloudOverlap_1.png create mode 100644 doc/tools/images/PointCloudOverlap_2.png create mode 100644 doc/tools/images/TriAx_X.png create mode 100644 doc/tools/images/TriAx_Y.png create mode 100644 doc/tools/images/TriAx_Z.png create mode 100644 src/main/java/terrasaur/apps/FacetInfo.java create mode 100644 src/main/java/terrasaur/apps/PointCloudOverlap.java create mode 100644 src/main/java/terrasaur/apps/TriAx.java create mode 100644 src/main/java/terrasaur/utils/ICQUtils.java diff --git a/CHANGELOG.md b/CHANGELOG.md index f69c77b..17424e4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Terrasaur Changelog +## July 30, 2025 - v1.1.0 + +- Updates to existing tools + - AdjustShapeModelToOtherShapeModel + - fix intersection bug + - CreateSBMTStructure + - new options: -flipX, -flipY, -spice, -date, -observer, -target, -cameraFrame + - ValidateNormals + - new option: -fast to only check for overhangs if center and normal point in opposite directions + +- New tools: + - FacetInfo: Print info about a facet + - PointCloudOverlap: Find points in a point cloud which overlap a reference point cloud + - TriAx: Generate a triaxial ellipsoid in ICQ format + ## April 28, 2025 - v1.0.1 - Add MIT license to repository and source code diff --git a/doc/dist/Terrasaur-2025.03.03-e1a0e14-src.tar.gz b/doc/dist/Terrasaur-2025.03.03-e1a0e14-src.tar.gz deleted file mode 100644 index fd5ddbaf6234f778e1dbf52cffe472f70b22b691..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 125 zcmV-@0D}J?iwFSH-D zKTTWJ-C(9sH!B$|6`C|+aaeUcx{c&fOW!cZ|m8n`T00sa61wuCa diff --git a/doc/dist/Terrasaur-2025.03.03-e1a0e14_*.tar.gz b/doc/dist/Terrasaur-2025.03.03-e1a0e14_*.tar.gz deleted file mode 100644 index 0743b5d72206019fa8b6b15797687bc4ecfda427..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 64 zcmb2|=HNL0_-Hx`__. We have not tried using the softare on Microsoft Windows, but users may try the Linux package with the `Windows Subsystem for Linux `__. diff --git a/doc/make.bat b/doc/make.bat index 922152e..2119f51 100644 --- a/doc/make.bat +++ b/doc/make.bat @@ -1,35 +1,35 @@ -@ECHO OFF - -pushd %~dp0 - -REM Command file for Sphinx documentation - -if "%SPHINXBUILD%" == "" ( - set SPHINXBUILD=sphinx-build -) -set SOURCEDIR=. -set BUILDDIR=_build - -if "%1" == "" goto help - -%SPHINXBUILD% >NUL 2>NUL -if errorlevel 9009 ( - echo. - echo.The 'sphinx-build' command was not found. Make sure you have Sphinx - echo.installed, then set the SPHINXBUILD environment variable to point - echo.to the full path of the 'sphinx-build' executable. Alternatively you - echo.may add the Sphinx directory to PATH. - echo. - echo.If you don't have Sphinx installed, grab it from - echo.http://sphinx-doc.org/ - exit /b 1 -) - -%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% -goto end - -:help -%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% - -:end -popd +@ECHO OFF + +pushd %~dp0 + +REM Command file for Sphinx documentation + +if "%SPHINXBUILD%" == "" ( + set SPHINXBUILD=sphinx-build +) +set SOURCEDIR=. +set BUILDDIR=_build + +if "%1" == "" goto help + +%SPHINXBUILD% >NUL 2>NUL +if errorlevel 9009 ( + echo. + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx + echo.installed, then set the SPHINXBUILD environment variable to point + echo.to the full path of the 'sphinx-build' executable. Alternatively you + echo.may add the Sphinx directory to PATH. + echo. + echo.If you don't have Sphinx installed, grab it from + echo.http://sphinx-doc.org/ + exit /b 1 +) + +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% +goto end + +:help +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% + +:end +popd diff --git a/doc/tools/ColorSpots.rst b/doc/tools/ColorSpots.rst new file mode 100644 index 0000000..15485b2 --- /dev/null +++ b/doc/tools/ColorSpots.rst @@ -0,0 +1,70 @@ +.. _ColorSpots: + +########## +ColorSpots +########## + +ColorSpots takes as input a shape model and a file containing (x, y, z, value), +or (lat, lon, value). It writes out the mean and standard deviation of values +within a specified range for each facet. + +.. include:: ../toolDescriptions/ColorSpots.txt + :literal: + +******** +Examples +******** + +Download the :download:`Apophis<./support_files/apophis_g_15618mm_rdr_obj_0000n00000_v001.obj>` +shape model and the :download:`info<./support_files/xyzrandom.txt>` file containing +cartesian coordinates and a random value. + +Run ColorSpots: + +:: + + ColorSpots -obj apophis_g_15618mm_rdr_obj_0000n00000_v001.obj -xyz \ + -info xyzrandom.txt -outFile apophis_value_at_vertex.csv -noWeight \ + -allFacets -additionalFields n -searchRadius 0.015 -writeVertices + +The first few lines of apophis_value_at_vertex.csv look like: + +:: + + % head apophis_value_at_vertex.csv + 0.000000e+00, 0.000000e+00, 1.664960e-01, -3.805764e-02, 5.342315e-01, 4.000000e+01 + 1.589500e-02, 0.000000e+00, 1.591030e-01, 6.122849e-02, 6.017192e-01, 5.000000e+01 + 7.837000e-03, 1.486800e-02, 1.591670e-01, -6.072964e-03, 5.220682e-01, 5.700000e+01 + -7.747000e-03, 1.506300e-02, 1.621040e-01, 9.146163e-02, 5.488631e-01, 4.900000e+01 + -1.554900e-02, 0.000000e+00, 1.657970e-01, -8.172811e-03, 5.270302e-01, 3.400000e+01 + -7.982000e-03, -1.571100e-02, 1.694510e-01, -2.840524e-02, 5.045911e-01, 3.900000e+01 + 8.060000e-03, -1.543300e-02, 1.655150e-01, 3.531959e-02, 5.464390e-01, 4.900000e+01 + 3.179500e-02, 0.000000e+00, 1.515820e-01, -1.472434e-02, 5.967265e-01, 5.400000e+01 + 2.719700e-02, 1.658200e-02, 1.508930e-01, -9.050683e-03, 5.186966e-01, 4.700000e+01 + 1.554100e-02, 2.901300e-02, 1.530770e-01, -7.053547e-02, 4.980369e-01, 7.000000e+01 + +The columns are: + +.. list-table:: ColorSpots Vertex output + :header-rows: 1 + + * - Column + - Value + * - 1 + - X + * - 2 + - Y + * - 3 + - Z + * - 4 + - mean value in region + * - 5 + - standard deviation in region + * - 6 + - number of points in region + +.. figure:: images/ColorSpots-n.png + :alt: Number of points in region at each vertex + + This image shows the number of points in the region at each vertex. + diff --git a/doc/tools/CompareOBJ.rst b/doc/tools/CompareOBJ.rst index a0ad06c..6e95d46 100644 --- a/doc/tools/CompareOBJ.rst +++ b/doc/tools/CompareOBJ.rst @@ -23,7 +23,7 @@ Local Model Comparison Download the :download:`reference<./support_files/EVAL20_wtr.obj>` and :download:`comparison<./support_files/EVAL20.obj>` shape models. You can view them in a tool such as -`ParaView`. +`ParaView `__. .. figure:: images/CompareOBJ_local_1.png @@ -32,8 +32,8 @@ shape models. You can view them in a tool such as Run CompareOBJ to find the optimal transform to align the comparison with the reference: :: - CompareOBJ -computeOptimalRotationAndTranslation -model F3H-1/EVAL20.obj \ - -reference F3H-1/EVAL20_wtr.obj -computeVerticalError verticalError.txt \ + CompareOBJ -computeOptimalRotationAndTranslation -model EVAL20.obj \ + -reference EVAL20_wtr.obj -computeVerticalError verticalError.txt \ -saveOptimalShape optimal.obj -savePlateDiff plateDiff.txt -savePlateIndex plateIndex.txt The screen output is @@ -77,7 +77,7 @@ model for comparison: :: - ShapeFormatConverter -input Bennu/Bennu49k.obj -output BennuComparison.obj \ + ShapeFormatConverter -input Bennu49k.obj -output BennuComparison.obj \ -rotate 5,0,0,1 -translate 0.01,-0.01,0.01 This rotates the shape model by 5 degrees about the z axis and then translates @@ -94,11 +94,11 @@ Run CompareOBJ to find the optimal transform to align the comparison with the re CompareOBJ -computeOptimalRotationAndTranslation \ -model BennuComparison.obj \ - -reference Bennu/Bennu49k.obj \ - -computeVerticalError CompareOBJ/terrasaur-verticalError.txt \ - -saveOptimalShape CompareOBJ/terrasaur-optimal.obj \ - -savePlateDiff CompareOBJ/terrasaur-plateDiff.txt \ - -savePlateIndex CompareOBJ/terrasaur-plateIndex.txt + -reference Bennu49k.obj \ + -computeVerticalError terrasaur-verticalError.txt \ + -saveOptimalShape terrasaur-optimal.obj \ + -savePlateDiff terrasaur-plateDiff.txt \ + -savePlateIndex terrasaur-plateIndex.txt The screen output is diff --git a/doc/tools/PointCloudOverlap.rst b/doc/tools/PointCloudOverlap.rst new file mode 100644 index 0000000..e4f05a8 --- /dev/null +++ b/doc/tools/PointCloudOverlap.rst @@ -0,0 +1,38 @@ +.. _PointCloudOverlap: + +################# +PointCloudOverlap +################# + +***** +Usage +***** + +.. include:: ../toolDescriptions/PointCloudOverlap.txt + :literal: + +******** +Examples +******** + +Download the :download:`reference<./support_files/EVAL20_wtr.obj>` and :download:`comparison<./support_files/EVAL20.obj>` +shape models. You can view them in a tool such as +`ParaView `__. + +.. figure:: images/PointCloudOverlap_1.png + + This image shows the reference (pink) and input (blue) shape models. + +Run PointCloudOverlap: + +:: + + PointCloudOverlap -inputFile EVAL20.obj -referenceFile EVAL20_wtr.obj -outputFile overlap.vtk + +Note that OBJ is supported as an input format but not as an output format. + + +.. figure:: images/PointCloudOverlap_2.png + + The points in white are those in the input model that overlap the reference. + diff --git a/doc/tools/TriAx.rst b/doc/tools/TriAx.rst new file mode 100644 index 0000000..9fba689 --- /dev/null +++ b/doc/tools/TriAx.rst @@ -0,0 +1,43 @@ +.. _TriAx: + +===== +TriAx +===== + +TriAx is an implementation of the SPC tool TRIAX, which generates a triaxial ellipsoid in ICQ format. + +***** +Usage +***** + +.. include:: ../toolDescriptions/TriAx.txt + :literal: + +******* +Example +******* + +Generate an ellipsoid with dimensions 10, 8, 6, with q = 8. + +:: + + TriAx -A 10 -B 8 -C 6 -Q 8 -output triax.icq -saveOBJ + +The following ellipsoid is generated: + +.. container:: figures-row + + .. figure:: images/TriAx_X.png + :alt: looking down from the +X direction + + looking down from the +X direction + + .. figure:: images/TriAx_Y.png + :alt: looking down from the +Y direction + + looking down from the +Y direction + + .. figure:: images/TriAx_Z.png + :alt: looking down from the +Z direction + + looking down from the +Z direction \ No newline at end of file diff --git a/doc/tools/images/PointCloudOverlap_1.png b/doc/tools/images/PointCloudOverlap_1.png new file mode 100644 index 0000000000000000000000000000000000000000..376b0aec5d4221020129d40a3d591742a2bbedae GIT binary patch literal 177884 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

q*q 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

sZi_4a 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 t6?POg1H!m4Fb%2Uoq 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Ξ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 literal 0 HcmV?d00001 diff --git a/doc/tools/images/TriAx_Y.png b/doc/tools/images/TriAx_Y.png new file mode 100644 index 0000000000000000000000000000000000000000..cc12a94cae5ad3711f24d5bf6682beafebb6dac4 GIT binary patch literal 24178 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 literal 0 HcmV?d00001 diff --git a/mkPackage.bash b/mkPackage.bash index f61581a..f1655c8 100755 --- a/mkPackage.bash +++ b/mkPackage.bash @@ -89,7 +89,7 @@ function build_jar() { function make_scripts() { - classes=$(jar tf "${scriptPath}"/target/${packageName}.jar | grep $appSrcDir | grep -v '\$' | grep -v "package-info" | grep class) + classes=$(jar tf ${scriptPath}/target/${packageName}.jar | grep $appSrcDir | grep -v '\$' | grep -v "package-info" | grep -v "Immutable" | grep class) for class in $classes; do base=$(basename "$class" ".class") diff --git a/pom.xml b/pom.xml index 0da05f2..a2caa9e 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,6 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 edu.jhuapl.ses.srn Terrasaur @@ -55,25 +56,29 @@ com.mycila license-maven-plugin 5.0.0 - - - -

com/mycila/maven/plugin/license/templates/MIT.txt
- - **/*.java - - - - - - - check-license - verify - - check - - - + + + +
com/mycila/maven/plugin/license/templates/MIT.txt
+ + **/*.java + + + 3rd-party/**/*.java + support-libraries/3rd-party/**/*.java + +
+
+
+ + + check-license + verify + + check + + + @@ -126,7 +131,8 @@ maven-surefire-plugin 3.5.3 - -Djava.library.path=${project.basedir}/3rd-party/${env.ARCH}/spice/JNISpice/lib + + -Djava.library.path=${project.basedir}/3rd-party/${env.ARCH}/spice/JNISpice/lib diff --git a/src/main/java/terrasaur/apps/AdjustShapeModelToOtherShapeModel.java b/src/main/java/terrasaur/apps/AdjustShapeModelToOtherShapeModel.java index 1312ff7..502a689 100644 --- a/src/main/java/terrasaur/apps/AdjustShapeModelToOtherShapeModel.java +++ b/src/main/java/terrasaur/apps/AdjustShapeModelToOtherShapeModel.java @@ -25,7 +25,6 @@ package terrasaur.apps; import java.io.File; import java.nio.charset.Charset; import java.util.*; - import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; @@ -33,14 +32,14 @@ import org.apache.commons.io.FileUtils; import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; +import spice.basic.Plane; +import spice.basic.Vector3; import terrasaur.smallBodyModel.BoundingBox; import terrasaur.smallBodyModel.SmallBodyModel; import terrasaur.templates.TerrasaurTool; import terrasaur.utils.Log4j2Configurator; import terrasaur.utils.NativeLibraryLoader; import terrasaur.utils.PolyDataUtil; -import spice.basic.Plane; -import spice.basic.Vector3; import vtk.vtkGenericCell; import vtk.vtkPoints; import vtk.vtkPolyData; @@ -76,7 +75,7 @@ public class AdjustShapeModelToOtherShapeModel implements TerrasaurTool { return TerrasaurTool.super.fullDescription(options, header, ""); } - private static Options defineOptions() { + private static Options defineOptions() { Options options = TerrasaurTool.defineOptions(); options.addOption( Option.builder("from") @@ -182,6 +181,7 @@ public class AdjustShapeModelToOtherShapeModel implements TerrasaurTool { Vector3D origin = new Vector3D(0., 0., 0.); for (int i = 0; i < numberPoints; ++i) { points.GetPoint(i, p); + Vector3D thisPoint = new Vector3D(p); Vector3D lookDir; @@ -198,18 +198,20 @@ public class AdjustShapeModelToOtherShapeModel implements TerrasaurTool { } Vector3D lookPt = lookDir.scalarMultiply(diagonalLength); - lookPt = lookPt.add(origin); + lookPt = lookPt.add(thisPoint); List intersections = new ArrayList<>(); for (vtksbCellLocator cellLocator : cellLocators) { double[] intersectPoint = new double[3]; - // trace ray from the lookPt to the origin - first intersection is the farthest intersection - // from the origin + // trace ray from thisPoint to the lookPt - Assume cell intersection is the closest one if + // there are multiple? + // NOTE: result should return 1 in case of intersection but doesn't sometimes. + // Use the norm of intersection point to test for intersection instead. int result = cellLocator.IntersectWithLine( + thisPoint.toArray(), lookPt.toArray(), - origin.toArray(), tol, t, intersectPoint, @@ -219,38 +221,32 @@ public class AdjustShapeModelToOtherShapeModel implements TerrasaurTool { cell); Vector3D intersectVector = new Vector3D(intersectPoint); - if (fitPlane || localModel) { - // NOTE: result should return 1 in case of intersection but doesn't sometimes. - // Use the norm of intersection point to test for intersection instead. - - NavigableMap pointsMap = new TreeMap<>(); - if (intersectVector.getNorm() > 0) { - pointsMap.put(origin.subtract(intersectVector).getNorm(), intersectVector); - } - - lookPt = lookDir.scalarMultiply(-diagonalLength); - lookPt = lookPt.add(origin); - result = - cellLocator.IntersectWithLine( - lookPt.toArray(), - origin.toArray(), - tol, - t, - intersectPoint, - pcoords, - subId, - cell_id, - cell); - - intersectVector = new Vector3D(intersectPoint); - if (intersectVector.getNorm() > 0) { - pointsMap.put(origin.subtract(intersectVector).getNorm(), intersectVector); - } - - if (!pointsMap.isEmpty()) intersections.add(pointsMap.get(pointsMap.firstKey())); - } else { - if (result > 0) intersections.add(intersectVector); + NavigableMap pointsMap = new TreeMap<>(); + if (intersectVector.getNorm() > 0) { + pointsMap.put(thisPoint.subtract(intersectVector).getNorm(), intersectVector); } + + // look in the other direction + lookPt = lookDir.scalarMultiply(-diagonalLength); + lookPt = lookPt.add(thisPoint); + result = + cellLocator.IntersectWithLine( + thisPoint.toArray(), + lookPt.toArray(), + tol, + t, + intersectPoint, + pcoords, + subId, + cell_id, + cell); + + intersectVector = new Vector3D(intersectPoint); + if (intersectVector.getNorm() > 0) { + pointsMap.put(thisPoint.subtract(intersectVector).getNorm(), intersectVector); + } + + if (!pointsMap.isEmpty()) intersections.add(pointsMap.get(pointsMap.firstKey())); } if (intersections.isEmpty()) throw new Exception("Error: no intersections at all"); diff --git a/src/main/java/terrasaur/apps/CreateSBMTStructure.java b/src/main/java/terrasaur/apps/CreateSBMTStructure.java index be9ea69..f0f44e7 100644 --- a/src/main/java/terrasaur/apps/CreateSBMTStructure.java +++ b/src/main/java/terrasaur/apps/CreateSBMTStructure.java @@ -60,8 +60,7 @@ public class CreateSBMTStructure implements TerrasaurTool { @Override public String fullDescription(Options options) { - String header = - "This tool creates an SBMT ellipse file from a set of point on an image."; + String header = "This tool creates an SBMT ellipse file from a set of points on an image."; String footer = ""; return TerrasaurTool.super.fullDescription(options, header, footer); } @@ -129,20 +128,31 @@ public class CreateSBMTStructure implements TerrasaurTool { private static Options defineOptions() { Options options = TerrasaurTool.defineOptions(); + options.addOption( + Option.builder("flipX") + .desc("If present, negate the X coordinate of the input points.") + .build()); + options.addOption( + Option.builder("flipY") + .desc("If present, negate the Y coordinate of the input points.") + .build()); options.addOption( Option.builder("input") .required() .hasArg() .desc( - """ -Required. Name or input file. This is a text file with a pair of pixel coordinates per line. The pixel +""" +Required. Name or input file. This is a text file with a pair of pixel coordinates (X and Y) per line. The pixel coordinates are offsets from the image center. For example: # My test file -627.51274 876.11775 -630.53612 883.55992 -626.3499 881.46681 +89.6628 285.01 +97.8027 280.126 +95.0119 285.01 +-13.8299 323.616 +-1.9689 331.756 +-11.7367 330.826 Empty lines or lines beginning with # are ignored. @@ -161,11 +171,38 @@ axis and the third is a location for the semi-minor axis.""") .hasArg() .desc("Required. Name of output file.") .build()); + options.addOption( + Option.builder("spice") + .hasArg() + .desc( + "If present, name of metakernel to read. Other required options with -spice are -date, -observer, -target, and -cameraFrame.") + .build()); + options.addOption( + Option.builder("date") + .hasArgs() + .desc("Only used with -spice. Date of image (e.g. 2022 SEP 26 23:11:12.649).") + .build()); + options.addOption( + Option.builder("observer") + .hasArg() + .desc("Only used with -spice. Observing body (e.g. DART)") + .build()); + options.addOption( + Option.builder("target") + .hasArg() + .desc("Only used with -spice. Target body (e.g. DIMORPHOS).") + .build()); + options.addOption( + Option.builder("cameraFrame") + .hasArg() + .desc("Only used with -spice. Camera frame (e.g. DART_DRACO).") + .build()); options.addOption( Option.builder("sumFile") .required() .hasArg() - .desc("Required. Name of sum file to read.") + .desc( + "Required. Name of sum file to read. This is still required with -spice, but only used as a template to create a new sum file.") .build()); return options; } @@ -179,7 +216,7 @@ axis and the third is a location for the semi-minor axis.""") Map startupMessages = defaultOBJ.startupMessages(cl); for (MessageLabel ml : startupMessages.keySet()) - logger.info(String.format("%s %s", ml.label, startupMessages.get(ml))); + logger.info("{} {}", ml.label, startupMessages.get(ml)); NativeLibraryLoader.loadSpiceLibraries(); NativeLibraryLoader.loadVtkLibraries(); @@ -195,6 +232,8 @@ axis and the third is a location for the semi-minor axis.""") } RangeFromSumFile rfsf = new RangeFromSumFile(sumFile, polyData); + boolean flipX = cl.hasOption("flipX"); + boolean flipY = cl.hasOption("flipY"); List intercepts = new ArrayList<>(); List lines = FileUtils.readLines(new File(cl.getOptionValue("input")), Charset.defaultCharset()); @@ -204,6 +243,9 @@ axis and the third is a location for the semi-minor axis.""") int ix = (int) Math.round(Double.parseDouble(parts[0])); int iy = (int) Math.round(Double.parseDouble(parts[1])); + if (flipX) ix *= -1; + if (flipY) iy *= -1; + Map.Entry entry = rfsf.findIntercept(ix, iy); long cellID = entry.getKey(); if (cellID > -1) intercepts.add(entry.getValue()); @@ -216,12 +258,13 @@ axis and the third is a location for the semi-minor axis.""") // p1 and p2 define the long axis of the ellipse Vector3D p1 = intercepts.get(i); - Vector3D p2 = intercepts.get(i+1); + Vector3D p2 = intercepts.get(i + 1); // p3 lies on the short axis - Vector3D p3 = intercepts.get(i+2); + Vector3D p3 = intercepts.get(i + 2); - SBMTEllipseRecord record = createRecord(i/3, String.format("Ellipse %d", i/3), p1, p2, p3); + SBMTEllipseRecord record = + createRecord(i / 3, String.format("Ellipse %d", i / 3), p1, p2, p3); records.add(record); } diff --git a/src/main/java/terrasaur/apps/FacetInfo.java b/src/main/java/terrasaur/apps/FacetInfo.java new file mode 100644 index 0000000..b4d141f --- /dev/null +++ b/src/main/java/terrasaur/apps/FacetInfo.java @@ -0,0 +1,258 @@ +/* + * The MIT License + * Copyright © 2025 Johns Hopkins University Applied Physics Laboratory + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package terrasaur.apps; + +import java.io.PrintWriter; +import java.util.Arrays; +import java.util.Map; +import java.util.NavigableSet; +import java.util.TreeSet; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.math3.geometry.euclidean.threed.SphericalCoordinates; +import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.immutables.value.Value; +import terrasaur.templates.TerrasaurTool; +import terrasaur.utils.CellInfo; +import terrasaur.utils.NativeLibraryLoader; +import terrasaur.utils.PolyDataStatistics; +import terrasaur.utils.PolyDataUtil; +import vtk.vtkIdList; +import vtk.vtkOBBTree; +import vtk.vtkPolyData; + +public class FacetInfo implements TerrasaurTool { + + private static final Logger logger = LogManager.getLogger(); + + /** + * This doesn't need to be private, or even declared, but you might want to if you have other + * constructors. + */ + private FacetInfo() {} + + @Override + public String shortDescription() { + return "Print info about a facet."; + } + + @Override + public String fullDescription(Options options) { + String header = "Prints information about facet(s)."; + String footer = + """ + +This tool prints out facet center, normal, angle between center and +normal, and other information about the specified facet(s)."""; + + return TerrasaurTool.super.fullDescription(options, header, footer); + } + + private vtkPolyData polyData; + private vtkOBBTree searchTree; + private Vector3D origin; + + private FacetInfo(vtkPolyData polyData) { + this.polyData = polyData; + PolyDataStatistics stats = new PolyDataStatistics(polyData); + origin = new Vector3D(stats.getCentroid()); + + logger.info("Origin is at {}", origin); + + logger.info("Creating search tree"); + searchTree = new vtkOBBTree(); + searchTree.SetDataSet(polyData); + searchTree.SetTolerance(1e-12); + searchTree.BuildLocator(); + } + + /** + * @param cellId id of this cell + * @return Set of neighboring cells (ones which share a vertex with this one) + */ + private NavigableSet neighbors(long cellId) { + NavigableSet neighborCellIds = new TreeSet<>(); + + vtkIdList vertexIdlist = new vtkIdList(); + CellInfo.getCellInfo(polyData, cellId, vertexIdlist); + + vtkIdList facetIdlist = new vtkIdList(); + for (long i = 0; i < vertexIdlist.GetNumberOfIds(); i++) { + long vertexId = vertexIdlist.GetId(i); + polyData.GetPointCells(vertexId, facetIdlist); + } + for (long i = 0; i < facetIdlist.GetNumberOfIds(); i++) { + long id = facetIdlist.GetId(i); + if (id == cellId) continue; + neighborCellIds.add(id); + } + + return neighborCellIds; + } + + @Value.Immutable + public abstract static class FacetInfoLine { + + public abstract long index(); + + public abstract Vector3D radius(); + + public abstract Vector3D normal(); + + /** + * @return facets between this and origin + */ + public abstract NavigableSet interiorIntersections(); + + /** + * @return facets between this and infinity + */ + public abstract NavigableSet exteriorIntersections(); + + public static String getHeader() { + return "# Index, " + + "Center Lat (deg), " + + "Center Lon (deg), " + + "Radius, " + + "Radial Vector, " + + "Normal Vector, " + + "Angle between radial and normal (deg), " + + "facets between this and origin, " + + "facets between this and infinity"; + } + + public String toCSV() { + + SphericalCoordinates spc = new SphericalCoordinates(radius()); + + StringBuilder sb = new StringBuilder(); + + sb.append(String.format("%d, ", index())); + sb.append(String.format("%.4f, ", 90 - Math.toDegrees(spc.getPhi()))); + sb.append(String.format("%.4f, ", Math.toDegrees(spc.getTheta()))); + sb.append(String.format("%.6f, ", spc.getR())); + sb.append( + String.format("%.6f %.6f %.6f, ", radius().getX(), radius().getY(), radius().getZ())); + sb.append( + String.format("%.6f %.6f %.6f, ", normal().getX(), normal().getY(), normal().getZ())); + sb.append(String.format("%.3f, ", Math.toDegrees(Vector3D.angle(radius(), normal())))); + sb.append(String.format("%d", interiorIntersections().size())); + if (!interiorIntersections().isEmpty()) { + for (long id : interiorIntersections()) sb.append(String.format(" %d", id)); + } + sb.append(", "); + sb.append(String.format("%d", exteriorIntersections().size())); + if (!exteriorIntersections().isEmpty()) { + for (long id : exteriorIntersections()) sb.append(String.format(" %d", id)); + } + return sb.toString(); + } + } + + private FacetInfoLine getFacetInfoLine(long cellId) { + CellInfo ci = CellInfo.getCellInfo(polyData, cellId, new vtkIdList()); + + vtkIdList cellIds = new vtkIdList(); + searchTree.IntersectWithLine(origin.toArray(), ci.center().toArray(), null, cellIds); + + // count up all crossings of the surface between the origin and the facet. + NavigableSet insideIds = new TreeSet<>(); + for (long j = 0; j < cellIds.GetNumberOfIds(); j++) { + if (cellIds.GetId(j) == cellId) continue; + insideIds.add(cellIds.GetId(j)); + } + + Vector3D infinity = ci.center().scalarMultiply(1e9); + + cellIds = new vtkIdList(); + searchTree.IntersectWithLine(infinity.toArray(), ci.center().toArray(), null, cellIds); + + // count up all crossings of the surface between the infinity and the facet. + NavigableSet outsideIds = new TreeSet<>(); + for (long j = 0; j < cellIds.GetNumberOfIds(); j++) { + if (cellIds.GetId(j) == cellId) continue; + outsideIds.add(cellIds.GetId(j)); + } + + return ImmutableFacetInfoLine.builder() + .index(cellId) + .radius(ci.center()) + .normal(ci.normal()) + .interiorIntersections(insideIds) + .exteriorIntersections(outsideIds) + .build(); + } + + private static Options defineOptions() { + Options options = TerrasaurTool.defineOptions(); + options.addOption( + Option.builder("facet") + .required() + .hasArgs() + .desc("Facet(s) to query. Separate multiple indices with whitespace.") + .build()); + options.addOption( + Option.builder("obj").required().hasArg().desc("Shape model to validate.").build()); + options.addOption( + Option.builder("output").required().hasArg().desc("CSV file to write.").build()); + return options; + } + + public static void main(String[] args) { + TerrasaurTool defaultOBJ = new FacetInfo(); + + Options options = defineOptions(); + + CommandLine cl = defaultOBJ.parseArgs(args, options); + + Map startupMessages = defaultOBJ.startupMessages(cl); + for (MessageLabel ml : startupMessages.keySet()) + logger.info("{} {}", ml.label, startupMessages.get(ml)); + + NativeLibraryLoader.loadVtkLibraries(); + + try { + vtkPolyData polydata = PolyDataUtil.loadShapeModel(cl.getOptionValue("obj")); + FacetInfo app = new FacetInfo(polydata); + try (PrintWriter pw = new PrintWriter(cl.getOptionValue("output"))) { + pw.println(FacetInfoLine.getHeader()); + for (long cellId : + Arrays.stream(cl.getOptionValues("facet")).mapToLong(Long::parseLong).toArray()) { + pw.println(app.getFacetInfoLine(cellId).toCSV()); + + NavigableSet neighbors = app.neighbors(cellId); + for (long neighborCellId : neighbors) + pw.println(app.getFacetInfoLine(neighborCellId).toCSV()); + } + } + logger.info("Wrote {}", cl.getOptionValue("output")); + } catch (Exception e) { + logger.error(e.getLocalizedMessage(), e); + } + + logger.info("Finished."); + } +} diff --git a/src/main/java/terrasaur/apps/PointCloudFormatConverter.java b/src/main/java/terrasaur/apps/PointCloudFormatConverter.java index cfb7954..b53246b 100644 --- a/src/main/java/terrasaur/apps/PointCloudFormatConverter.java +++ b/src/main/java/terrasaur/apps/PointCloudFormatConverter.java @@ -305,8 +305,8 @@ public class PointCloudFormatConverter implements TerrasaurTool { } } else { if (halfSize < 0 || groundSampleDistance < 0) { - System.out.printf( - "Must supply -halfSize and -groundSampleDistance for %s output\n", + logger.error( + "Must supply -halfSize and -groundSampleDistance for {} output", outFormat); return; } diff --git a/src/main/java/terrasaur/apps/PointCloudOverlap.java b/src/main/java/terrasaur/apps/PointCloudOverlap.java new file mode 100644 index 0000000..911885c --- /dev/null +++ b/src/main/java/terrasaur/apps/PointCloudOverlap.java @@ -0,0 +1,417 @@ +/* + * The MIT License + * Copyright © 2025 Johns Hopkins University Applied Physics Laboratory + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package terrasaur.apps; + +import java.awt.geom.Path2D; +import java.awt.geom.Point2D; +import java.io.File; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collection; +import java.util.List; +import java.util.Map; +import nom.tam.fits.FitsException; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; +import org.apache.commons.math3.geometry.euclidean.twod.Vector2D; +import org.apache.commons.math3.geometry.euclidean.twod.hull.MonotoneChain; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import picante.math.coords.LatitudinalVector; +import spice.basic.SpiceException; +import spice.basic.Vector3; +import terrasaur.enums.FORMATS; +import terrasaur.templates.TerrasaurTool; +import terrasaur.utils.NativeLibraryLoader; +import terrasaur.utils.VectorStatistics; +import terrasaur.utils.tessellation.StereographicProjection; +import vtk.vtkPoints; + +public class PointCloudOverlap implements TerrasaurTool { + + private static final Logger logger = LogManager.getLogger(); + + @Override + public String shortDescription() { + return "Find points in a point cloud which overlap a reference point cloud."; + } + + @Override + public String fullDescription(Options options) { + String header = ""; + String footer = + "\nThis program finds all points in the input point cloud which overlap the points in a reference point cloud.\n\n" + + "Supported input formats are ASCII, BINARY, L2, OBJ, and VTK. Supported output formats are ASCII, BINARY, L2, and VTK. " + + "ASCII format is white spaced delimited x y z coordinates. BINARY files must contain double precision x y z coordinates.\n\n" + + "A plane is fit to the reference point cloud and all points in each cloud are projected onto this plane. Any point in the " + + "projected input cloud which falls within the outline of the projected reference cloud is considered to be overlapping."; + return TerrasaurTool.super.fullDescription(options, header, footer); + } + + private Path2D.Double polygon; + + private StereographicProjection proj; + + /*- Useful for debugging + private vtkPoints ref2DPoints; + private vtkPoints input2DPoints; + private vtkPolyData polygonPolyData; + private vtkCellArray polygonCells; + private vtkPoints polygonPoints; + private vtkDoubleArray polygonSuccessArray; + */ + + public PointCloudOverlap(Collection refPoints) { + if (refPoints != null) { + VectorStatistics vStats = new VectorStatistics(); + for (double[] pt : refPoints) vStats.add(new Vector3(pt)); + + Vector3D centerXYZ = vStats.getMean(); + + proj = + new StereographicProjection( + new LatitudinalVector(1, centerXYZ.getDelta(), centerXYZ.getAlpha())); + + createRefPolygon(refPoints); + } + } + + public StereographicProjection getProjection() { + return proj; + } + + private void createRefPolygon(Collection refPoints) { + List stereographicPoints = new ArrayList<>(); + for (double[] refPt : refPoints) { + Vector3D point3D = new Vector3D(refPt); + Point2D point = proj.forward(point3D.getDelta(), point3D.getAlpha()); + stereographicPoints.add(new Vector2D(point.getX(), point.getY())); + } + + /*- + ref2DPoints = new vtkPoints(); + input2DPoints = new vtkPoints(); + polygonPolyData = new vtkPolyData(); + polygonCells = new vtkCellArray(); + polygonPoints = new vtkPoints(); + polygonSuccessArray = new vtkDoubleArray(); + polygonSuccessArray.SetName("success") + polygonPolyData.SetPoints(polygonPoints); + polygonPolyData.SetLines(polygonCells); + polygonPolyData.GetCellData().AddArray(polygonSuccessArray); + + for (Vector2D refPoint : refPoints) + ref2DPoints.InsertNextPoint(refPoint.getX(), refPoint.getY(), 0); + */ + + MonotoneChain mc = new MonotoneChain(); + List vertices = new ArrayList<>(mc.findHullVertices(stereographicPoints)); + /*- + for (int i = 1; i < vertices.size(); i++) { + Vector2D lastPt = vertices.get(i - 1); + Vector2D thisPt = vertices.get(i); + System.out.printf("%f %f to %f %f distance %f\n", lastPt.getX(), lastPt.getY(), thisPt.getX(), + thisPt.getY(), lastPt.distance(thisPt)); + } + Vector2D lastPt = vertices.get(vertices.size() - 1); + Vector2D thisPt = vertices.get(0); + System.out.printf("%f %f to %f %f distance %f\n", lastPt.getX(), lastPt.getY(), thisPt.getX(), + thisPt.getY(), lastPt.distance(thisPt)); + */ + // int id0 = 0; + for (Vector2D vertex : vertices) { + // int id1 = polygonPoints.InsertNextPoint(vertex.getX(), vertex.getY(), 0); + + if (polygon == null) { + polygon = new Path2D.Double(); + polygon.moveTo(vertex.getX(), vertex.getY()); + } else { + polygon.lineTo(vertex.getX(), vertex.getY()); + /*- + vtkLine line = new vtkLine(); + line.GetPointIds().SetId(0, id0); + line.GetPointIds().SetId(1, id1); + polygonCells.InsertNextCell(line); + */ + } + // id0 = id1; + } + polygon.closePath(); + + /*- + vtkPolyDataWriter writer = new vtkPolyDataWriter(); + writer.SetInputData(polygonPolyData); + writer.SetFileName("polygon2D.vtk"); + writer.SetFileTypeToBinary(); + writer.Update(); + + writer = new vtkPolyDataWriter(); + polygonPolyData = new vtkPolyData(); + polygonPolyData.SetPoints(ref2DPoints); + writer.SetInputData(polygonPolyData); + writer.SetFileName("refPoints.vtk"); + writer.SetFileTypeToBinary(); + writer.Update(); + */ + + } + + public boolean isEnclosed(double[] xyz) { + Vector3D point = new Vector3D(xyz); + Point2D projected = proj.forward(point.getDelta(), point.getAlpha()); + return polygon.contains(projected.getX(), projected.getY()); + } + + /** + * @param inputPoints points to consider + * @param scale scale factor + * @return indices of all points inside the scaled polygon + */ + public List scalePoints(List inputPoints, double scale) { + + List projected = new ArrayList<>(); + for (double[] inputPoint : inputPoints) { + Vector3D point = new Vector3D(inputPoint); + Point2D projectedPoint = proj.forward(point.getDelta(), point.getAlpha()); + projected.add(new Vector2D(projectedPoint.getX(), projectedPoint.getY())); + } + + Vector2D center = new Vector2D(0, 0); + for (Vector2D inputPoint : projected) center = center.add(inputPoint); + + center = center.scalarMultiply(1. / inputPoints.size()); + + List translatedPoints = new ArrayList<>(); + for (Vector2D inputPoint : projected) translatedPoints.add(inputPoint.subtract(center)); + + Path2D.Double thisPolygon = null; + MonotoneChain mc = new MonotoneChain(); + Collection vertices = mc.findHullVertices(translatedPoints); + for (Vector2D vertex : vertices) { + if (thisPolygon == null) { + thisPolygon = new Path2D.Double(); + thisPolygon.moveTo(scale * vertex.getX(), scale * vertex.getY()); + } else { + thisPolygon.lineTo(scale * vertex.getX(), scale * vertex.getY()); + } + } + thisPolygon.closePath(); + + List indices = new ArrayList<>(); + for (int i = 0; i < projected.size(); i++) { + Vector2D inputPoint = projected.get(i); + if (thisPolygon.contains( + inputPoint.getX() - center.getX(), inputPoint.getY() - center.getY())) indices.add(i); + } + return indices; + } + + private static Options defineOptions() { + Options options = new Options(); + options.addOption( + Option.builder("inputFormat") + .hasArg() + .desc( + "Format of input file. If not present format will be inferred from file extension.") + .build()); + options.addOption( + Option.builder("inputFile") + .required() + .hasArg() + .desc("Required. Name of input file.") + .build()); + options.addOption( + Option.builder("inllr") + .desc( + "If present, input values are assumed to be lon, lat, rad. Default is x, y, z. Only used with ASCII or BINARY formats.") + .build()); + options.addOption( + Option.builder("referenceFormat") + .hasArg() + .desc( + "Format of reference file. If not present format will be inferred from file extension.") + .build()); + options.addOption( + Option.builder("referenceFile") + .required() + .hasArg() + .desc("Required. Name of reference file.") + .build()); + options.addOption( + Option.builder("refllr") + .desc( + "If present, reference values are assumed to be lon, lat, rad. Default is x, y, z. Only used with ASCII or BINARY formats.") + .build()); + options.addOption( + Option.builder("outputFormat") + .hasArg() + .desc( + "Format of output file. If not present format will be inferred from file extension.") + .build()); + options.addOption( + Option.builder("outputFile") + .required() + .hasArg() + .desc("Required. Name of output file.") + .build()); + options.addOption( + Option.builder("outllr") + .desc( + "If present, output values will be lon, lat, rad. Default is x, y, z. Only used with ASCII or BINARY formats.") + .build()); + options.addOption( + Option.builder("scale") + .hasArg() + .desc("Value to scale bounding box containing intersect region. Default is 1.0.") + .build()); + return options; + } + + public static void main(String[] args) + throws SpiceException, IOException, InterruptedException, FitsException { + + NativeLibraryLoader.loadVtkLibraries(); + NativeLibraryLoader.loadSpiceLibraries(); + + TerrasaurTool defaultOBJ = new PointCloudOverlap(null); + + Options options = defineOptions(); + + CommandLine cl = defaultOBJ.parseArgs(args, options); + + Map startupMessages = defaultOBJ.startupMessages(cl); + for (MessageLabel ml : startupMessages.keySet()) + logger.info(String.format("%s %s", ml.label, startupMessages.get(ml))); + + // Read the reference file + FORMATS refFormat = + cl.hasOption("referenceFormat") + ? FORMATS.valueOf(cl.getOptionValue("referenceFormat").toUpperCase()) + : FORMATS.formatFromExtension(cl.getOptionValue("referenceFile")); + String refFile = cl.getOptionValue("referenceFile"); + boolean refLLR = cl.hasOption("refllr"); + + PointCloudFormatConverter pcfc = new PointCloudFormatConverter(refFormat, FORMATS.VTK); + pcfc.read(refFile, refLLR); + vtkPoints referencePoints = pcfc.getPoints(); + logger.info("{} points read from {}", referencePoints.GetNumberOfPoints(), refFile); + + List refPts = new ArrayList<>(); + for (int i = 0; i < referencePoints.GetNumberOfPoints(); i++) { + refPts.add(referencePoints.GetPoint(i)); + } + + // create the overlap object and set the enclosing polygon + PointCloudOverlap pco = new PointCloudOverlap(refPts); + + // Read the input point cloud + FORMATS inFormat = + cl.hasOption("inputFormat") + ? FORMATS.valueOf(cl.getOptionValue("inputFormat").toUpperCase()) + : FORMATS.formatFromExtension(cl.getOptionValue("inputFile")); + String inFile = cl.getOptionValue("inputFile"); + boolean inLLR = cl.hasOption("inllr"); + + pcfc = new PointCloudFormatConverter(inFormat, FORMATS.VTK); + pcfc.read(inFile, inLLR); + vtkPoints inputPoints = pcfc.getPoints(); + logger.info("{} points read from {}", inputPoints.GetNumberOfPoints(), inFile); + + List enclosedIndices = new ArrayList<>(); + for (int i = 0; i < inputPoints.GetNumberOfPoints(); i++) { + double[] pt = inputPoints.GetPoint(i); + if (pco.isEnclosed(pt)) enclosedIndices.add(i); + } + + if (cl.hasOption("scale")) { + List pts = new ArrayList<>(); + for (Integer i : enclosedIndices) pts.add(inputPoints.GetPoint(i)); + + // this list includes which of the enclosed points are inside the scaled polygon + List theseIndices = pco.scalePoints(pts, Double.parseDouble(cl.getOptionValue("scale"))); + + // now relate this list back to the original list of points + List newIndices = new ArrayList<>(); + for (Integer i : theseIndices) newIndices.add(enclosedIndices.get(i)); + enclosedIndices = newIndices; + } + + VectorStatistics xyzStats = new VectorStatistics(); + VectorStatistics xyStats = new VectorStatistics(); + for (Integer i : enclosedIndices) { + double[] thisPt = inputPoints.GetPoint(i); + Vector3D thisPt3D = new Vector3D(thisPt); + xyzStats.add(thisPt3D); + Point2D projectedPt = pco.getProjection().forward(thisPt3D.getDelta(), thisPt3D.getAlpha()); + xyStats.add(new Vector3(projectedPt.getX(), projectedPt.getY(), 0)); + } + + logger.info( + "Center XYZ: {}, {}, {}", + xyzStats.getMean().getX(), xyzStats.getMean().getY(), xyzStats.getMean().getZ()); + Vector3D centerXYZ = xyzStats.getMean(); + logger.info( + "Center lon, lat: {}, {}\n", + Math.toDegrees(centerXYZ.getAlpha()), Math.toDegrees(centerXYZ.getDelta())); + logger.info( + "xmin/xmax/extent: {}/{}/{}\n", + xyzStats.getMin().getX(), + xyzStats.getMax().getX(), + xyzStats.getMax().getX() - xyzStats.getMin().getX()); + logger.info( + "ymin/ymax/extent: {}/{}/{}\n", + xyzStats.getMin().getY(), + xyzStats.getMax().getY(), + xyzStats.getMax().getY() - xyzStats.getMin().getY()); + logger.info( + "zmin/zmax/extent: {}/{}/{}\n", + xyzStats.getMin().getZ(), + xyzStats.getMax().getZ(), + xyzStats.getMax().getZ() - xyzStats.getMin().getZ()); + + FORMATS outFormat = + cl.hasOption("outputFormat") + ? FORMATS.valueOf(cl.getOptionValue("outputFormat").toUpperCase()) + : FORMATS.formatFromExtension(cl.getOptionValue("outputFile")); + + vtkPoints pointsToWrite = new vtkPoints(); + for (Integer i : enclosedIndices) pointsToWrite.InsertNextPoint(inputPoints.GetPoint(i)); + pcfc = new PointCloudFormatConverter(FORMATS.VTK, outFormat); + pcfc.setPoints(pointsToWrite); + String outputFilename = cl.getOptionValue("outputFile"); + pcfc.write(outputFilename, cl.hasOption("outllr")); + if (new File(outputFilename).exists()) { + logger.info( + "{} points written to {}", + pointsToWrite.GetNumberOfPoints(), outputFilename); + } else { + logger.error("Could not write {}", outputFilename); + } + + logger.info("Finished"); + } +} + +// TODO write out center of output pointcloud diff --git a/src/main/java/terrasaur/apps/RenderShapeFromSumFile.java b/src/main/java/terrasaur/apps/RenderShapeFromSumFile.java index dc0e03b..529cb3e 100644 --- a/src/main/java/terrasaur/apps/RenderShapeFromSumFile.java +++ b/src/main/java/terrasaur/apps/RenderShapeFromSumFile.java @@ -313,7 +313,7 @@ public class RenderShapeFromSumFile implements TerrasaurTool { logger.printf( Level.DEBUG, "Thread %d lat/lon %.2f/%.2f, %s, sum %f, cells %d, %.2f", - Thread.currentThread().getId(), + Thread.currentThread().threadId(), Math.toDegrees(intersectPoint.getDelta()), Math.toDegrees(intersectPoint.getAlpha()), intersectPoint.toString(), @@ -338,7 +338,7 @@ public class RenderShapeFromSumFile implements TerrasaurTool { @Override public Map call() throws Exception { - logger.info("Thread {}: starting", Thread.currentThread().getId()); + logger.info("Thread {}: starting", Thread.currentThread().threadId()); int xPixels = subPixel * nPixelsX; @@ -380,7 +380,7 @@ public class RenderShapeFromSumFile implements TerrasaurTool { logger.debug( String.format( "Thread %d: No intersection with local model for pixel (%d,%d): lat/lon %.2f/%.2f, using global intersection %d %s", - Thread.currentThread().getId(), + Thread.currentThread().threadId(), i, j, Math.toDegrees(intersectPt3D.getDelta()), @@ -397,7 +397,7 @@ public class RenderShapeFromSumFile implements TerrasaurTool { } } - logger.info("Thread {}: finished", Thread.currentThread().getId()); + logger.info("Thread {}: finished", Thread.currentThread().threadId()); return brightness; } diff --git a/src/main/java/terrasaur/apps/TriAx.java b/src/main/java/terrasaur/apps/TriAx.java new file mode 100644 index 0000000..7523347 --- /dev/null +++ b/src/main/java/terrasaur/apps/TriAx.java @@ -0,0 +1,166 @@ +/* + * The MIT License + * Copyright © 2025 Johns Hopkins University Applied Physics Laboratory + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package terrasaur.apps; + +import java.io.*; +import java.util.Map; +import org.apache.commons.cli.CommandLine; +import org.apache.commons.cli.Option; +import org.apache.commons.cli.Options; +import org.apache.commons.io.FilenameUtils; +import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import terrasaur.templates.TerrasaurTool; +import terrasaur.utils.ICQUtils; +import terrasaur.utils.NativeLibraryLoader; +import terrasaur.utils.PolyDataUtil; +import vtk.vtkPolyData; + +public class TriAx implements TerrasaurTool { + + private static final Logger logger = LogManager.getLogger(); + + private TriAx() {} + + @Override + public String shortDescription() { + return "Generate a triaxial ellipsoid in ICQ format."; + } + + @Override + public String fullDescription(Options options) { + + String footer = + "\nTriAx is an implementation of the SPC tool TRIAX, which generates a triaxial ellipsoid in ICQ format.\n"; + return TerrasaurTool.super.fullDescription(options, "", footer); + } + + static Options defineOptions() { + Options options = TerrasaurTool.defineOptions(); + options.addOption( + Option.builder("A") + .required() + .hasArg() + .desc("Long axis of the ellipsoid, arbitrary units (usually assumed to be km).") + .build()); + options.addOption( + Option.builder("B") + .required() + .hasArg() + .desc("Medium axis of the ellipsoid, arbitrary units (usually assumed to be km).") + .build()); + options.addOption( + Option.builder("C") + .required() + .hasArg() + .desc("Short axis of the ellipsoid, arbitrary units (usually assumed to be km).") + .build()); + options.addOption( + Option.builder("Q") + .required() + .hasArg() + .desc("ICQ size parameter. This is conventionally but not necessarily a power of 2.") + .build()); + options.addOption( + Option.builder("saveOBJ") + .desc( + "If present, save in OBJ format as well. " + + "File will have the same name as ICQ file with an OBJ extension.") + .build()); + options.addOption( + Option.builder("output").hasArg().required().desc("Name of ICQ file to write.").build()); + + return options; + } + + static final int MAX_Q = 512; + + public static void main(String[] args) { + TerrasaurTool defaultOBJ = new TriAx(); + + Options options = defineOptions(); + + CommandLine cl = defaultOBJ.parseArgs(args, options); + + Map startupMessages = defaultOBJ.startupMessages(cl); + for (MessageLabel ml : startupMessages.keySet()) + logger.info("{} {}", ml.label, startupMessages.get(ml)); + + int q = Integer.parseInt(cl.getOptionValue("Q")); + String shapefile = cl.getOptionValue("output"); + + double[] ax = new double[3]; + ax[0] = Double.parseDouble(cl.getOptionValue("A")); + ax[1] = Double.parseDouble(cl.getOptionValue("B")); + ax[2] = Double.parseDouble(cl.getOptionValue("C")); + + double[][][][] vec = new double[3][MAX_Q + 1][MAX_Q + 1][6]; + for (int f = 0; f < 6; f++) { + for (int i = 0; i <= q; i++) { + for (int j = 0; j <= q; j++) { + + double[] u = ICQUtils.xyf2u(q, i, j, f, ax); + double z = + 1 + / Math.sqrt( + Math.pow(u[0] / ax[0], 2) + + Math.pow(u[1] / ax[1], 2) + + Math.pow(u[2] / ax[2], 2)); + + double[] v = new Vector3D(u).scalarMultiply(z).toArray(); + for (int k = 0; k < 3; k++) { + vec[k][i][j][f] = v[k]; + } + } + } + } + + ICQUtils.writeICQ(q, vec, shapefile); + + if (cl.hasOption("saveOBJ")) { + + String basename = FilenameUtils.getBaseName(shapefile); + String dirname = FilenameUtils.getFullPath(shapefile); + if (dirname.isEmpty()) dirname = "."; + File obj = new File(dirname, basename + ".obj"); + + NativeLibraryLoader.loadVtkLibraries(); + try { + vtkPolyData polydata = PolyDataUtil.loadShapeModel(shapefile); + if (polydata == null) { + logger.error("Cannot read {}", shapefile); + System.exit(0); + } + + polydata = PolyDataUtil.removeDuplicatePoints(polydata); + polydata = PolyDataUtil.removeUnreferencedPoints(polydata); + polydata = PolyDataUtil.removeZeroAreaFacets(polydata); + + PolyDataUtil.saveShapeModelAsOBJ(polydata, obj.getPath()); + } catch (Exception e) { + logger.error(e); + } + } + } +} diff --git a/src/main/java/terrasaur/apps/ValidateNormals.java b/src/main/java/terrasaur/apps/ValidateNormals.java index 8fc85fb..6397eee 100644 --- a/src/main/java/terrasaur/apps/ValidateNormals.java +++ b/src/main/java/terrasaur/apps/ValidateNormals.java @@ -30,7 +30,6 @@ import java.util.concurrent.Callable; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; - import org.apache.commons.cli.CommandLine; import org.apache.commons.cli.Option; import org.apache.commons.cli.Options; @@ -65,6 +64,12 @@ public class ValidateNormals implements TerrasaurTool { static Options defineOptions() { Options options = TerrasaurTool.defineOptions(); + options.addOption( + Option.builder("fast") + .desc("If present, only check for overhangs if center and normal point in opposite " + + "directions. Default behavior is to always check for intersections between body center " + + "and facet center.") + .build()); options.addOption( Option.builder("origin") .hasArg() @@ -126,10 +131,12 @@ public class ValidateNormals implements TerrasaurTool { private final long index0; private final long index1; + private final boolean fast; - public FlippedNormalFinder(long index0, long index1) { + public FlippedNormalFinder(long index0, long index1, boolean fast) { this.index0 = index0; this.index1 = index1; + this.fast = fast; } @Override @@ -158,20 +165,21 @@ public class ValidateNormals implements TerrasaurTool { long index = index0 + i; CellInfo ci = CellInfo.getCellInfo(polyData, index, idList); - getOBBTree().IntersectWithLine(origin, ci.center().toArray(), null, cellIds); + boolean isOpposite = (ci.center().dotProduct(ci.normal()) < 0); - // count up all crossings of the surface between the origin and the facet. int numCrossings = 0; - for (int j = 0; j < cellIds.GetNumberOfIds(); j++) { - if (cellIds.GetId(j) == index) break; - numCrossings++; + if (isOpposite || !fast) { + // count up all crossings of the surface between the origin and the facet. + getOBBTree().IntersectWithLine(origin, ci.center().toArray(), null, cellIds); + for (int j = 0; j < cellIds.GetNumberOfIds(); j++) { + if (cellIds.GetId(j) == index) break; + numCrossings++; + } } // if numCrossings is even, the radial and normal should point in the same direction. If it - // is odd, the - // radial and normal should point in opposite directions. + // is odd, the radial and normal should point in opposite directions. boolean shouldBeOpposite = (numCrossings % 2 == 1); - boolean isOpposite = (ci.center().dotProduct(ci.normal()) < 0); // XOR operator - true if both conditions are different if (isOpposite ^ shouldBeOpposite) flippedNormals.add(index); @@ -208,7 +216,7 @@ public class ValidateNormals implements TerrasaurTool { Map startupMessages = defaultOBJ.startupMessages(cl); for (MessageLabel ml : startupMessages.keySet()) - logger.info(String.format("%s %s", ml.label, startupMessages.get(ml))); + logger.info("{} {}", ml.label, startupMessages.get(ml)); NativeLibraryLoader.loadVtkLibraries(); @@ -234,6 +242,7 @@ public class ValidateNormals implements TerrasaurTool { Set flippedNormals = new HashSet<>(); + boolean fast = cl.hasOption("fast"); int numThreads = cl.hasOption("numThreads") ? Integer.parseInt(cl.getOptionValue("numThreads")) : 1; try (ExecutorService executor = Executors.newFixedThreadPool(numThreads)) { @@ -244,7 +253,7 @@ public class ValidateNormals implements TerrasaurTool { long fromIndex = i * numFacets; long toIndex = Math.min(polyData.GetNumberOfCells(), fromIndex + numFacets); - FlippedNormalFinder fnf = app.new FlippedNormalFinder(fromIndex, toIndex); + FlippedNormalFinder fnf = app.new FlippedNormalFinder(fromIndex, toIndex, fast); futures.add(executor.submit(fnf)); } diff --git a/src/main/java/terrasaur/apps/ValidateOBJ.java b/src/main/java/terrasaur/apps/ValidateOBJ.java index 8e4c8c1..d720480 100644 --- a/src/main/java/terrasaur/apps/ValidateOBJ.java +++ b/src/main/java/terrasaur/apps/ValidateOBJ.java @@ -308,7 +308,7 @@ public class ValidateOBJ implements TerrasaurTool { TriangularFacet facet = new TriangularFacet(new VectorIJK(pt0), new VectorIJK(pt1), new VectorIJK(pt2)); if (facet.getArea() > 0) { - stats.addValue(facet.getCenter().getDot(facet.getNormal())); + stats.addValue(facet.getCenter().createUnitized().getDot(facet.getNormal())); cStats.add(facet.getCenter()); nStats.add(facet.getNormal()); } @@ -374,7 +374,7 @@ public class ValidateOBJ implements TerrasaurTool { Map startupMessages = defaultOBJ.startupMessages(cl); for (MessageLabel ml : startupMessages.keySet()) - logger.info(String.format("%s %s", ml.label, startupMessages.get(ml))); + logger.info("{} {}", ml.label, startupMessages.get(ml)); NativeLibraryLoader.loadVtkLibraries(); vtkPolyData polyData = PolyDataUtil.loadShapeModel(cl.getOptionValue("obj")); @@ -418,7 +418,7 @@ public class ValidateOBJ implements TerrasaurTool { if (cl.hasOption("output")) { PolyDataUtil.saveShapeModelAsOBJ(polyData, cl.getOptionValue("output")); - logger.info(String.format("Wrote OBJ file %s", cl.getOptionValue("output"))); + logger.info("Wrote OBJ file {}", cl.getOptionValue("output")); } } } diff --git a/src/main/java/terrasaur/utils/CellInfo.java b/src/main/java/terrasaur/utils/CellInfo.java index be5ea78..19818be 100644 --- a/src/main/java/terrasaur/utils/CellInfo.java +++ b/src/main/java/terrasaur/utils/CellInfo.java @@ -129,7 +129,7 @@ public abstract class CellInfo { polydata.GetPoint(idList.GetId(2), pt2); } - private static CellInfo fromPoints(double[] pt0, double[] pt1, double[] pt2) { + public static CellInfo fromPoints(double[] pt0, double[] pt1, double[] pt2) { ImmutableCellInfo.Builder builder = ImmutableCellInfo.builder(); builder.pt0(new Vector3D(pt0)); diff --git a/src/main/java/terrasaur/utils/ICQUtils.java b/src/main/java/terrasaur/utils/ICQUtils.java new file mode 100644 index 0000000..3deb20a --- /dev/null +++ b/src/main/java/terrasaur/utils/ICQUtils.java @@ -0,0 +1,111 @@ +/* + * The MIT License + * Copyright © 2025 Johns Hopkins University Applied Physics Laboratory + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ +package terrasaur.utils; + +import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; + +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; + +public class ICQUtils { + private static final Logger logger = LogManager.getLogger(); + + public static double[] xyf2u(int q, double x, double y, int face, double[] ax) { + double pi = Math.acos(-1.0); + double[] dt = new double[3]; + double[] v = new double[3]; + int[][][] u = defu(); + + dt[0] = Math.tan((2 * x / q - 1) * pi / 4); + dt[1] = Math.tan((2 * y / q - 1) * pi / 4); + dt[2] = 1 / Math.sqrt(1 + dt[0] * dt[0] + dt[1] * dt[1]); + dt[0] *= dt[2]; + dt[1] *= dt[2]; + + for (int k = 0; k < 3; k++) { + for (int j = 0; j < 3; j++) { + int sign = u[j][k][face]; + if (sign != 0) { + v[k] = dt[j] * sign * Math.sqrt(ax[k]); + } + } + } + + return new Vector3D(v).normalize().toArray(); + } + + static int[][][] defu() { + int[][][] u = new int[3][3][6]; + + u[0][0][0] = 1; + u[1][1][0] = -1; + u[2][2][0] = 1; + + u[0][0][1] = 1; + u[1][2][1] = -1; + u[2][1][1] = -1; + + u[0][1][2] = -1; + u[1][2][2] = -1; + u[2][0][2] = -1; + + u[0][0][3] = -1; + u[1][2][3] = -1; + u[2][1][3] = 1; + + u[0][1][4] = 1; + u[1][2][4] = -1; + u[2][0][4] = 1; + + u[0][0][5] = 1; + u[1][1][5] = 1; + u[2][2][5] = -1; + + return u; + } + + public static void writeICQ(int q, double[][][][] vec, String filename){ + + try (PrintWriter out = new PrintWriter(new FileWriter(filename))) { + out.println(q); + for (int f = 0; f < 6; f++) { + for (int j = 0; j <= q; j++) { + for (int i = 0; i <= q; i++) { + for (int k = 0; k < 3; k++) { + out.printf("%12.5f", vec[k][i][j][f]); + } + out.println(); + } + } + } + } catch (IOException e) { + logger.error(e); + } + + } + + +} diff --git a/src/main/java/terrasaur/utils/PolyDataUtil.java b/src/main/java/terrasaur/utils/PolyDataUtil.java index 0c7e331..8071490 100644 --- a/src/main/java/terrasaur/utils/PolyDataUtil.java +++ b/src/main/java/terrasaur/utils/PolyDataUtil.java @@ -521,17 +521,17 @@ public class PolyDataUtil { n[q][q][4] = n[0][q][3]; n[q][q][5] = n[0][q][3]; - try (PrintWriter pw = new PrintWriter("java.txt")) { - for (int f = 0; f < 6; f++) { - for (int i = 0; i < q; i++) { - for (int j = 0; j < q; j++) { - pw.printf("%3d%3d%3d%6d\n", i, j, f + 1, n[i][j][f]); - } - } - } - } catch (FileNotFoundException e) { - logger.error(e.getLocalizedMessage()); - } +// try (PrintWriter pw = new PrintWriter("java.txt")) { +// for (int f = 0; f < 6; f++) { +// for (int i = 0; i < q; i++) { +// for (int j = 0; j < q; j++) { +// pw.printf("%3d%3d%3d%6d\n", i, j, f + 1, n[i][j][f]); +// } +// } +// } +// } catch (FileNotFoundException e) { +// logger.error(e.getLocalizedMessage()); +// } pltLines.add(String.format("%d", 12 * q * q)); n0 = 0; diff --git a/src/main/java/terrasaur/utils/SumFile.java b/src/main/java/terrasaur/utils/SumFile.java index f96370e..b4fda39 100644 --- a/src/main/java/terrasaur/utils/SumFile.java +++ b/src/main/java/terrasaur/utils/SumFile.java @@ -29,32 +29,35 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.annotation.Nullable; +import net.jafama.FastMath; import org.apache.commons.io.FileUtils; import org.apache.commons.math3.geometry.euclidean.threed.Rotation; import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.immutables.value.Value; -import net.jafama.FastMath; -import terrasaur.utils.ImmutableSumFile.Builder; -import terrasaur.utils.math.MathConversions; +import picante.math.vectorspace.RotationMatrixIJK; +import picante.math.vectorspace.VectorIJK; +import picante.mechanics.*; +import picante.mechanics.providers.aberrated.AberrationCorrection; import spice.basic.Plane; import spice.basic.Ray; import spice.basic.RayPlaneIntercept; import spice.basic.SpiceException; import spice.basic.Vector3; +import terrasaur.utils.ImmutableSumFile.Builder; +import terrasaur.utils.math.MathConversions; +import terrasaur.utils.spice.SpiceBundle; /** * Class describing Bob Gaskell's sum file object - * - * @author nairah1 * + * @author nairah1 */ @Value.Immutable public abstract class SumFile { - private final static Logger logger = LogManager.getLogger(SumFile.class); + private static final Logger logger = LogManager.getLogger(SumFile.class); // line 1 public abstract String picnm(); @@ -107,23 +110,63 @@ public abstract class SumFile { // line 13 public abstract Vector3D sig_ptg(); - @Nullable public abstract Vector3D frustum1(); - @Nullable public abstract Vector3D frustum2(); - @Nullable public abstract Vector3D frustum3(); - @Nullable public abstract Vector3D frustum4(); /** - * - * @param translation - * @param rotation - * @return A SumFile with the scobj transformed and the cx, cy, cz, and sz vectors rotated. + * @param bundle SPICE bundle + * @param observer spacecraft + * @param target target + * @param cameraFrame Camera Frame + * @param t time + * @return SumFile with scobj, C matrix, and sun direction evaluated using SPICE at time t + */ + public SumFile fromSpice( + SpiceBundle bundle, EphemerisID observer, EphemerisID target, FrameID cameraFrame, double t) { + FrameID bodyFixedFrame = bundle.getBodyFixedFrame(target); + VectorIJK scobj = + bundle + .getAbProvider() + .createAberratedPositionVectorFunction( + target, observer, bodyFixedFrame, Coverage.ALL_TIME, AberrationCorrection.LT_S) + .getPosition(t); + RotationMatrixIJK cMatrix = + bundle + .getAbProvider() + .getFrameProvider() + .createFrameTransformFunction(cameraFrame, bodyFixedFrame, Coverage.ALL_TIME) + .getTransform(t); + VectorIJK sunDir = + bundle + .getAbProvider() + .createAberratedPositionVectorFunction( + CelestialBodies.SUN, + target, + bodyFixedFrame, + Coverage.ALL_TIME, + AberrationCorrection.LT_S) + .getPosition(t) + .unitize(); + + Builder b = ImmutableSumFile.builder().from(this); + b.utcString(bundle.getTimeConversion().tdbToUTCString(t, "C")); + b.scobj(MathConversions.toVector3D(scobj)); + b.cx(MathConversions.toVector3D(cMatrix.mxv(VectorIJK.I))); + b.cy(MathConversions.toVector3D(cMatrix.mxv(VectorIJK.J))); + b.cz(MathConversions.toVector3D(cMatrix.mxv(VectorIJK.K))); + b.sz(MathConversions.toVector3D(cMatrix.mxv(sunDir))); + return b.build(); + } + + /** + * @param translation translation to apply to scobj + * @param rotation rotation to apply to C matrix and sun direction + * @return SumFile with the scobj transformed and the cx, cy, cz, and sz vectors rotated. */ public SumFile transform(Vector3D translation, Rotation rotation) { Builder b = ImmutableSumFile.builder().from(this); @@ -141,10 +184,8 @@ public abstract class SumFile { } /** - * Construct a SumFile from the input file - * - * @param file - * @return + * @param file file to read + * @return SumFile */ public static SumFile fromFile(File file) { SumFile s = null; @@ -157,10 +198,8 @@ public abstract class SumFile { } /** - * Construct a SumFile from the input string list - * - * @param lines - * @return + * @param lines lines to read + * @return SumFile */ public static SumFile fromLines(List lines) { Builder b = ImmutableSumFile.builder(); @@ -180,95 +219,114 @@ public abstract class SumFile { parts = lines.get(4).trim().split("\\s+"); double[] tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.scobj(new Vector3D(tmp)); parts = lines.get(5).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.cx(new Vector3D(tmp).normalize()); parts = lines.get(6).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.cy(new Vector3D(tmp).normalize()); parts = lines.get(7).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.cz(new Vector3D(tmp).normalize()); parts = lines.get(8).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.sz(new Vector3D(tmp).normalize()); parts = lines.get(9).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.kmat1(new Vector3D(tmp)); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i + 3]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i + 3]); b.kmat2(new Vector3D(tmp)); parts = lines.get(10).trim().split("\\s+"); - for (int i = 0; i < 4; i++) - b.addDistortion(parseFortranDouble(parts[i])); + for (int i = 0; i < 4; i++) b.addDistortion(parseFortranDouble(parts[i])); parts = lines.get(11).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.sig_vso(new Vector3D(tmp)); parts = lines.get(11).trim().split("\\s+"); tmp = new double[3]; - for (int i = 0; i < 3; i++) - tmp[i] = parseFortranDouble(parts[i]); + for (int i = 0; i < 3; i++) tmp[i] = parseFortranDouble(parts[i]); b.sig_ptg(new Vector3D(tmp)); + b.frustum1(Vector3D.ZERO); + b.frustum2(Vector3D.ZERO); + b.frustum3(Vector3D.ZERO); + b.frustum4(Vector3D.ZERO); + SumFile s = b.build(); double fov1 = Math.abs(Math.atan(s.npx() / (2.0 * s.mmfl() * s.kmat1().getX()))); double fov2 = Math.abs(Math.atan(s.nln() / (2.0 * s.mmfl() * s.kmat2().getY()))); Vector3D cornerVector = new Vector3D(-FastMath.tan(fov1), -FastMath.tan(fov2), 1.0); - double fx = cornerVector.getX() * s.cx().getX() + cornerVector.getY() * s.cy().getX() - + cornerVector.getZ() * s.cz().getX(); - double fy = cornerVector.getX() * s.cx().getY() + cornerVector.getY() * s.cy().getY() - + cornerVector.getZ() * s.cz().getY(); - double fz = cornerVector.getX() * s.cx().getZ() + cornerVector.getY() * s.cy().getZ() - + cornerVector.getZ() * s.cz().getZ(); + double fx = + cornerVector.getX() * s.cx().getX() + + cornerVector.getY() * s.cy().getX() + + cornerVector.getZ() * s.cz().getX(); + double fy = + cornerVector.getX() * s.cx().getY() + + cornerVector.getY() * s.cy().getY() + + cornerVector.getZ() * s.cz().getY(); + double fz = + cornerVector.getX() * s.cx().getZ() + + cornerVector.getY() * s.cy().getZ() + + cornerVector.getZ() * s.cz().getZ(); b.frustum3(new Vector3D(fx, fy, fz).normalize()); - fx = -cornerVector.getX() * s.cx().getX() + cornerVector.getY() * s.cy().getX() - + cornerVector.getZ() * s.cz().getX(); - fy = -cornerVector.getX() * s.cx().getY() + cornerVector.getY() * s.cy().getY() - + cornerVector.getZ() * s.cz().getY(); - fz = -cornerVector.getX() * s.cx().getZ() + cornerVector.getY() * s.cy().getZ() - + cornerVector.getZ() * s.cz().getZ(); + fx = + -cornerVector.getX() * s.cx().getX() + + cornerVector.getY() * s.cy().getX() + + cornerVector.getZ() * s.cz().getX(); + fy = + -cornerVector.getX() * s.cx().getY() + + cornerVector.getY() * s.cy().getY() + + cornerVector.getZ() * s.cz().getY(); + fz = + -cornerVector.getX() * s.cx().getZ() + + cornerVector.getY() * s.cy().getZ() + + cornerVector.getZ() * s.cz().getZ(); b.frustum4(new Vector3D(fx, fy, fz).normalize()); - fx = cornerVector.getX() * s.cx().getX() - cornerVector.getY() * s.cy().getX() - + cornerVector.getZ() * s.cz().getX(); - fy = cornerVector.getX() * s.cx().getY() - cornerVector.getY() * s.cy().getY() - + cornerVector.getZ() * s.cz().getY(); - fz = cornerVector.getX() * s.cx().getZ() - cornerVector.getY() * s.cy().getZ() - + cornerVector.getZ() * s.cz().getZ(); + fx = + cornerVector.getX() * s.cx().getX() + - cornerVector.getY() * s.cy().getX() + + cornerVector.getZ() * s.cz().getX(); + fy = + cornerVector.getX() * s.cx().getY() + - cornerVector.getY() * s.cy().getY() + + cornerVector.getZ() * s.cz().getY(); + fz = + cornerVector.getX() * s.cx().getZ() + - cornerVector.getY() * s.cy().getZ() + + cornerVector.getZ() * s.cz().getZ(); b.frustum1(new Vector3D(fx, fy, fz).normalize()); - fx = -cornerVector.getX() * s.cx().getX() - cornerVector.getY() * s.cy().getX() - + cornerVector.getZ() * s.cz().getX(); - fy = -cornerVector.getX() * s.cx().getY() - cornerVector.getY() * s.cy().getY() - + cornerVector.getZ() * s.cz().getY(); - fz = -cornerVector.getX() * s.cx().getZ() - cornerVector.getY() * s.cy().getZ() - + cornerVector.getZ() * s.cz().getZ(); + fx = + -cornerVector.getX() * s.cx().getX() + - cornerVector.getY() * s.cy().getX() + + cornerVector.getZ() * s.cz().getX(); + fy = + -cornerVector.getX() * s.cx().getY() + - cornerVector.getY() * s.cy().getY() + + cornerVector.getZ() * s.cz().getY(); + fz = + -cornerVector.getX() * s.cx().getZ() + - cornerVector.getY() * s.cy().getZ() + + cornerVector.getZ() * s.cz().getZ(); b.frustum2(new Vector3D(fx, fy, fz).normalize()); return b.build(); @@ -277,17 +335,15 @@ public abstract class SumFile { /** * Account for numbers of the form .1192696009D+03 rather than .1192696009E+03 (i.e. a D instead * of an E). This function replaces D's with E's. - * - * @param s - * @return + * + * @param s String + * @return input string with all instances of 'D' replaced with 'E' */ private static double parseFortranDouble(String s) { return Double.parseDouble(s.replace('D', 'E')); } - /** - * Write the sum file object to a string - */ + /** Write the sum file object to a string */ @Override public String toString() { StringBuilder sb = new StringBuilder(); @@ -297,25 +353,52 @@ public abstract class SumFile { String.format("%6d%6d%6d%6d%56s\n", npx(), nln(), t1(), t2(), " NPX, NLN, THRSH ")); sb.append( String.format("%20.10e%20.10e%20.10e%20s\n", mmfl(), px0(), ln0(), " MMFL, CTR ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", scobj().getX(), scobj().getY(), - scobj().getZ(), " SCOBJ ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", cx().getX(), cx().getY(), cx().getZ(), - " CX ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", cy().getX(), cy().getY(), cy().getZ(), - " CY ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", cz().getX(), cz().getY(), cz().getZ(), - " CZ ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", sz().getX(), sz().getY(), sz().getZ(), - " SZ ")); - sb.append(String.format("%10.4f%10.4f%10.4f%10.4f%10.4f%10.4f%20s\n", kmat1().getX(), - kmat1().getY(), kmat1().getZ(), kmat2().getX(), kmat2().getY(), kmat2().getZ(), - " K-MATRIX ")); - sb.append(String.format("%15.5f%15.5f%15.5f%15.5f%20s\n", distortion().get(0), - distortion().get(1), distortion().get(2), distortion().get(3), " DISTORTION ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", sig_vso().getX(), sig_vso().getY(), - sig_vso().getZ(), " SIGMA_VSO ")); - sb.append(String.format("%20.10e%20.10e%20.10e%20s\n", sig_ptg().getX(), sig_ptg().getY(), - sig_ptg().getZ(), " SIGMA_PTG ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + scobj().getX(), scobj().getY(), scobj().getZ(), " SCOBJ ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + cx().getX(), cx().getY(), cx().getZ(), " CX ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + cy().getX(), cy().getY(), cy().getZ(), " CY ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + cz().getX(), cz().getY(), cz().getZ(), " CZ ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + sz().getX(), sz().getY(), sz().getZ(), " SZ ")); + sb.append( + String.format( + "%10.4f%10.4f%10.4f%10.4f%10.4f%10.4f%20s\n", + kmat1().getX(), + kmat1().getY(), + kmat1().getZ(), + kmat2().getX(), + kmat2().getY(), + kmat2().getZ(), + " K-MATRIX ")); + sb.append( + String.format( + "%15.5f%15.5f%15.5f%15.5f%20s\n", + distortion().get(0), + distortion().get(1), + distortion().get(2), + distortion().get(3), + " DISTORTION ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + sig_vso().getX(), sig_vso().getY(), sig_vso().getZ(), " SIGMA_VSO ")); + sb.append( + String.format( + "%20.10e%20.10e%20.10e%20s\n", + sig_ptg().getX(), sig_ptg().getY(), sig_ptg().getZ(), " SIGMA_PTG ")); sb.append(String.format("%s\n", "LANDMARKS")); sb.append(String.format("%s\n", "LIMB FITS")); sb.append(String.format("%s\n", "END FILE")); @@ -324,95 +407,77 @@ public abstract class SumFile { } /** - * Boresight direction. This is the same as {@link #cz()}. - * - * @return + * @return Boresight direction. This is the same as {@link #cz()}. */ public Vector3D boresight() { return cz(); } /** - * Sun direction. This is the same as {@link #sz()}. - * - * @return + * @return Sun direction. This is the same as {@link #sz()}. */ public Vector3D sunDirection() { return sz(); } /** - *
-   * return new Vector3D(1. / npx(), frustum3().subtract(frustum4()))
-   * 
- * * @return + *
new Vector3D(1. / npx(), frustum3().subtract(frustum4()))
*/ public Vector3D xPerPixel() { return new Vector3D(1. / npx(), frustum3().subtract(frustum4())); } /** - *
-   * return new Vector3D(1. / nln(), frustum3().subtract(frustum1()));
-   * 
- * * @return + *
 new Vector3D(1. / nln(), frustum3().subtract(frustum1()));
+   *        
*/ public Vector3D yPerPixel() { return new Vector3D(1. / nln(), frustum3().subtract(frustum1())); } /** - * Angular size per pixel in the X direction. - * - * @return + * @return Angular size per pixel in the X direction calculated using + *
Vector3D.angle(frustum3(), frustum4()) / npx()
*/ public double horizontalResolution() { return Vector3D.angle(frustum3(), frustum4()) / npx(); } /** - * Angular size per pixel in the Y direction. - * - * @return + * @return Angular size per pixel in the Y direction calculated using + *
Vector3D.angle(frustum3(), frustum1()) / nln()
*/ public double verticalResolution() { return Vector3D.angle(frustum3(), frustum1()) / nln(); } /** - * Height of the image in pixels. - * - * @return + * @return Height of the image in pixels. */ public int imageHeight() { double kmatrix00 = Math.abs(kmat1().getX()); double kmatrix11 = Math.abs(kmat2().getY()); int imageHeight = nln(); - if (kmatrix00 > kmatrix11) - imageHeight = (int) Math.round(nln() * (kmatrix00 / kmatrix11)); + if (kmatrix00 > kmatrix11) imageHeight = (int) Math.round(nln() * (kmatrix00 / kmatrix11)); return imageHeight; } /** - * Width of the image in pixels. - * - * @return + * @return Width of the image in pixels. */ public int imageWidth() { double kmatrix00 = Math.abs(kmat1().getX()); double kmatrix11 = Math.abs(kmat2().getY()); int imageWidth = npx(); - if (kmatrix11 > kmatrix00) - imageWidth = (int) Math.round(npx() * (kmatrix11 / kmatrix00)); + if (kmatrix11 > kmatrix00) imageWidth = (int) Math.round(npx() * (kmatrix11 / kmatrix00)); return imageWidth; } /** - * Get the rotation to convert from body fixed coordinates to camera coordinates. {@link #cx()}, - * {@link #cx()}, {@link #cz()} are the rows of this matrix. - * + * @return rotation to convert from body fixed coordinates to camera coordinates. {@link #cx()}, + * {@link #cx()}, {@link #cz()} are the rows of this matrix. */ public Rotation getBodyFixedToCamera() { double[][] m = new double[3][]; @@ -423,9 +488,8 @@ public abstract class SumFile { } /** - * * @param directions from the spacecraft, in the body fixed frame. - * @return + * @return list of booleans set to true if direction is in the field of view, or false if not * @throws SpiceException */ public List isInFOV(List directions) throws SpiceException { @@ -450,10 +514,10 @@ public abstract class SumFile { } Path2D.Double shape = new Path2D.Double(); - shape.moveTo(xAxis.dot(points.get(0)), yAxis.dot(points.get(0))); + shape.moveTo(xAxis.dot(points.getFirst()), yAxis.dot(points.getFirst())); for (int i = 1; i < points.size(); i++) shape.lineTo(xAxis.dot(points.get(i)), yAxis.dot(points.get(i))); - shape.lineTo(xAxis.dot(points.get(0)), yAxis.dot(points.get(0))); + shape.lineTo(xAxis.dot(points.getFirst()), yAxis.dot(points.getFirst())); for (Vector3 direction : directions) { RayPlaneIntercept rpi = @@ -464,5 +528,4 @@ public abstract class SumFile { return Collections.unmodifiableList(isInFOV); } - } diff --git a/src/main/java/terrasaur/utils/tessellation/FibonacciSphere.java b/src/main/java/terrasaur/utils/tessellation/FibonacciSphere.java index 7285c4f..11f8ef6 100644 --- a/src/main/java/terrasaur/utils/tessellation/FibonacciSphere.java +++ b/src/main/java/terrasaur/utils/tessellation/FibonacciSphere.java @@ -80,6 +80,7 @@ public class FibonacciSphere implements SphericalTessellation { } /** + * Get statistics on the distances between each point and its closest neighbor * * @return statistics on the distances between each point and its closest neighbor */ @@ -181,9 +182,10 @@ public class FibonacciSphere implements SphericalTessellation { } /** + * Get the nearest point from the desired location. * * @param lv input location - * @return key is distance to tile center in radians, value is tile index + * @return key is distance in radians, value is point index */ public Map.Entry getNearest(LatitudinalVector lv) { return getNearest(CoordConverters.convert(lv)); @@ -198,7 +200,7 @@ public class FibonacciSphere implements SphericalTessellation { * * * @param ijk cartesian coordinates - * @return key is distance to tile center in radians, value is tile index + * @return key is distance in radians, value is point index */ public Map.Entry getNearest(UnwritableVectorIJK ijk) { final long n = getNumTiles(); @@ -248,7 +250,7 @@ public class FibonacciSphere implements SphericalTessellation { } } - return new AbstractMap.SimpleEntry<>(Math.sqrt(d), j); + return new AbstractMap.SimpleEntry(Math.sqrt(d), j); } private MatrixIJ getLocalToGlobalTransform(UnwritableVectorIJK p) { @@ -282,8 +284,8 @@ public class FibonacciSphere implements SphericalTessellation { /** * - * @param i tile index - * @return distance to this tile's closest neighbor center + * @param i point index + * @return distance to this point's closest neighbor */ public Double getDist(int i) { return getClosestNeighborDistance().get(i); @@ -292,7 +294,7 @@ public class FibonacciSphere implements SphericalTessellation { /** * * @param lv input point - * @return map of tile indices sorted by distance from the input point + * @return map of points sorted by distance from the input point */ public NavigableMap getDistanceMap(LatitudinalVector lv) { UnwritableVectorIJK ijk = CoordConverters.convert(lv); diff --git a/src/main/java/terrasaur/utils/tessellation/StereographicProjection.java b/src/main/java/terrasaur/utils/tessellation/StereographicProjection.java index fd82753..73e0ae6 100644 --- a/src/main/java/terrasaur/utils/tessellation/StereographicProjection.java +++ b/src/main/java/terrasaur/utils/tessellation/StereographicProjection.java @@ -29,13 +29,12 @@ import picante.math.vectorspace.UnwritableVectorIJK; import java.awt.geom.Point2D; /** - * Implement a stereographic projection. This is package private so that there's no conflict with - * anything in the cartography package. Based on Snyder (1987). + * Implement a stereographic projection. Based on Snyder (1987). * * @author nairah1 * */ -class StereographicProjection { +public class StereographicProjection { private final double centerLat, centerLon; private final double sinCenterLat, cosCenterLat; @@ -47,7 +46,7 @@ class StereographicProjection { * * @param center projection center */ - StereographicProjection(LatitudinalVector center) { + public StereographicProjection(LatitudinalVector center) { this(1.0, center); } @@ -58,7 +57,7 @@ class StereographicProjection { * @param R scale * @param center projection center */ - StereographicProjection(double R, LatitudinalVector center) { + public StereographicProjection(double R, LatitudinalVector center) { this.R = R; this.centerLat = center.getLatitude(); this.centerLon = center.getLongitude(); diff --git a/src/test/java/terrasaur/utils/SumFileTest.java b/src/test/java/terrasaur/utils/SumFileTest.java index 2bc525d..400d434 100644 --- a/src/test/java/terrasaur/utils/SumFileTest.java +++ b/src/test/java/terrasaur/utils/SumFileTest.java @@ -23,13 +23,20 @@ package terrasaur.utils; import static org.junit.Assert.assertEquals; + import java.io.File; import java.io.IOException; import java.nio.charset.Charset; import java.util.List; import org.apache.commons.io.FileUtils; import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; +import org.junit.Assert; +import org.junit.Ignore; import org.junit.Test; +import picante.mechanics.EphemerisID; +import picante.spice.fov.FOV; +import picante.spice.fov.FOVFactory; +import terrasaur.utils.spice.SpiceBundle; public class SumFileTest { @@ -38,19 +45,63 @@ public class SumFileTest { File file = ResourceUtils.writeResourceToFile("/M605862153F5.SUM"); + Assert.assertNotNull(file); List lines = FileUtils.readLines(file, Charset.defaultCharset()); SumFile sumFile = SumFile.fromLines(lines); - assertEquals(Vector3D.angle(sumFile.frustum1(), - new Vector3D(0.4395120989622179, 0.898199076601014, -0.008217886523401116)), 0, 1E-10); - assertEquals(Vector3D.angle(sumFile.frustum2(), - new Vector3D(0.43798867001719116, 0.8968954485311167, 0.06119215097329732)), 0, 1E-10); - assertEquals(Vector3D.angle(sumFile.frustum3(), - new Vector3D(0.3761137519676121, 0.926529032684429, -0.009077288896014253)), 0, 1E-10); - assertEquals(Vector3D.angle(sumFile.frustum4(), - new Vector3D(0.37459032302258627, 0.9252254046145307, 0.060332748600675515)), 0, 1E-10); - + assertEquals( + 0, + Vector3D.angle( + sumFile.frustum1(), + new Vector3D(0.4395120989622179, 0.898199076601014, -0.008217886523401116)), + 1E-10); + assertEquals( + 0, + Vector3D.angle( + sumFile.frustum2(), + new Vector3D(0.43798867001719116, 0.8968954485311167, 0.06119215097329732)), + 1E-10); + assertEquals( + 0, + Vector3D.angle( + sumFile.frustum3(), + new Vector3D(0.3761137519676121, 0.926529032684429, -0.009077288896014253)), + 1E-10); + assertEquals( + 0, + Vector3D.angle( + sumFile.frustum4(), + new Vector3D(0.37459032302258627, 0.9252254046145307, 0.060332748600675515)), + 1E-10); } + @Ignore + @Test + public void testSPICE() { + SumFile sumFile1 = + SumFile.fromFile( + new File( + "/project/sis/users/nairah1/SBCLT/tickets/52-create-sbmt-structure-file/spice/D717505942G0.SUM")); + + SpiceBundle bundle = + new SpiceBundle.Builder() + .addMetakernels(List.of("/project/dart/data/SPICE/dra/mk/d520_v02_N0066.tm")) + .build(); + EphemerisID observer = bundle.getObject("DART"); + EphemerisID target = bundle.getObject("DIMORPHOS"); + FOV fov = new FOVFactory(bundle.getKernelPool()).create(-135101); + + double t = bundle.getTimeConversion().utcStringToTDB("2022 SEP 26 23:14:23.328"); + + SumFile sumFile2 = + SumFile.fromFile( + new File( + "/project/sis/users/nairah1/SBCLT/tickets/52-create-sbmt-structure-file/spice/D717506133G0.SUM")); + SumFile sumFile3 = sumFile1.fromSpice(bundle, observer, target, fov.getFrameID(), t); + + System.out.println(sumFile1); + System.out.println(sumFile2); + System.out.println(sumFile3); + } }