DOI-USGS / ISIS3

Integrated Software for Imagers and Spectrometers v3. ISIS3 is a digital image processing software package to manipulate imagery collected by current and past NASA and International planetary missions.
https://isis.astrogeology.usgs.gov
Other
200 stars 168 forks source link

Refactor of the pixel2map application and add geospatial vector file output #5606

Closed afrigeri closed 1 month ago

afrigeri commented 2 months ago

This PR introduces a refactored pixel2map ISIS application and adds the option to generate a geospatial vector file.

The output (specified with TOVECT) will replicate the ISIS output cube using a specialized common vector format for geospatial applications. The vector format is a CSV ASCII file with a virtual (VRT) sidecar XML metadata file supported by the GDAL library. The output will be in unprojected, spherical coordinates (degrees) and provide the Coordinate Reference System (CRS) metadata of the planetary body compatible with the Open GIS Consortium (OGC) standards (IAU namespace).

The vector file can be handled by several geospatial tools and the most diffused GIS software.

Description

pixel2map, following the Isis developed guide, required a refactoring which required:

Changes to the library:

Changes to the app:

Related Issue

The proposed updates/changes is at #5604

Development-related Issues

Validation

Left the pre-existing old test structure with pixel2map test, and introduced new gtest for this specific update:

App test added testing on the ASCII output file (had to use MroCtxCube, as the DefaultCube resulted in Null data when test is called from ctest - see above).

Unit test added a new unit test validating the new Vectorize function by testing vector geometry integrity.

github-actions[bot] commented 2 months ago

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5606".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

amystamile-usgs commented 2 months ago

The following tests are failing for this PR:

1389 - DefaultCube.FunctionalTestCam2mapUserLatlon (Failed)
1392 - DefaultCube.FunctionalTestCam2mapFramerMock (SEGFAULT)
1398 - DefaultCube.FunctionalTestAutomosTracking (SEGFAULT)
1400 - DefaultCube.FunctionalTestBandtrimDefault (SEGFAULT)
1401 - DefaultCube.FunctionalTestBandtrimOneBand (SEGFAULT)
1403 - DefaultCube.FunctionalTestCaminfoCsv (SEGFAULT)
1404 - DefaultCube.FunctionalTestCaminfoDefault (Failed)
1405 - DefaultCube.FunctionalTestCaminfoPoly (Failed)
1406 - DefaultCube.FunctionalTestCaminfoBoundary (Failed)
1410 - DefaultCube.FunctionalTestCamptDefaultParameters (Failed)
1412 - DefaultCube.FunctionalTestCamptSetS (SEGFAULT)
1414 - DefaultCube.FunctionalTestCamptSetGround (Failed)
1418 - DefaultCube.FunctionalTestCamptAllowError (Failed)
1419 - DefaultCube.FunctionalTestCamrangeMeta (Failed)
1420 - DefaultCube.FunctionalTestCamrangeUniversalGround (SEGFAULT)
1421 - DefaultCube.FunctionalTestCamrangeLatitude (Failed)
1422 - DefaultCube.FunctionalTestCamrangeCardinals (SEGFAULT)
1428 - DefaultCube.FunctionalTestCkwriterFromlist (Failed)
1436 - DefaultCube.CSMInitSpiceCleanup (SEGFAULT)
1437 - DefaultCube.CSMInitSpiceRestoredAfterFailure (SEGFAULT)
1438 - DefaultCube.CSMInitSpiceNoCleanup (Failed)
1439 - DefaultCube.FunctionalTestFootprintinitDefault (SEGFAULT)
1440 - DefaultCube.FunctionalTestFootprintinitLincSinc (Failed)
1441 - DefaultCube.FunctionalTestFootprintinitVertices (SEGFAULT)
1443 - DefaultCube.FunctionalTestFootprintinitTestXY (Failed)
1444 - DefaultCube.FunctionalTestFootprintinitPrecision (Failed)
1445 - DefaultCube.FunctionalTestGaussstretch (Failed)
1446 - DefaultCube.FunctionalTestGetsnAllTrue (SEGFAULT)
1448 - DefaultCube.FunctionalTestGetsnDefaultTrue (SEGFAULT)
1452 - DefaultCube.FunctionalTestGetsnOverwrite (SEGFAULT)
1461 - DefaultCube.FunctionalTestIsis2pdsLinears16bit (SEGFAULT)
1463 - DefaultCube.FunctionalTestIsis2pdsManual8bit (SEGFAULT)
1481 - DefaultCube.FunctionalTestNoprojDefault (Failed)
1483 - DefaultCube.FunctionalTestNoprojFromInput (Failed)
1485 - DefaultCube.FunctionalTestNoprojSpecs (Failed)
1486 - DefaultCube.FunctionalTestPhocubeDefault (SEGFAULT)
1493 - DefaultCube.FunctionalTestsPhotrimEmission (SEGFAULT)
1500 - DefaultCube.FunctionalTestSkyptFlatFileError (SEGFAULT)
1505 - DefaultCube.FunctionalTestSpkwriterDefault (Failed)
1506 - DefaultCube.FunctionalTestSpkwriterFromlist (Failed)
1508 - DefaultCube.FunctionalTestVikcalDefault (Failed)
1509 - DefaultCube.FunctionalTestCtxcalCameraComparison (Failed)
1511 - DefaultCube.IsisSensorGetStateImageNewPoint (Failed)
1512 - DefaultCube.IsisSensorGetStateImageOldPoint (Failed)
1513 - DefaultCube.IsisSensorGetStateGroundNewPoint (Failed)
1514 - DefaultCube.IsisSensorGetStateGroundOldPoint (Failed)
1515 - DefaultCube.UnitTestImagePolygonDefaultParams (Failed)
1516 - DefaultCube.UnitTestImagePolygonSubPoly (Failed)
1517 - DefaultCube.UnitTestImagePolygonBoundary (SEGFAULT)
1524 - DemCube.FunctionalTestShadowMatch (Failed)
1526 - DemCube.FunctionalTestShadowNoShadow (Failed)
1527 - DemCube.FunctionalTestShadowAccurate (SEGFAULT)
1894 - MroHiriseCube.FunctionalTestHicolormosDefault (SEGFAULT)
1896 - MroHiriseCube.FunctionalTestHicropCropByLine (SEGFAULT)
github-actions[bot] commented 2 months ago

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5606".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

github-actions[bot] commented 2 months ago

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5606".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

github-actions[bot] commented 2 months ago

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5606".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

amystamile-usgs commented 2 months ago

@afrigeri is this PR ready for a review? I am seeing compile errors on our test build.

github-actions[bot] commented 2 months ago

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5606".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.

afrigeri commented 2 months ago

@afrigeri is this PR ready for a review? I am seeing compile errors on our test build.

Compile error should be fixed with https://github.com/DOI-USGS/ISIS3/pull/5606/commits/aebfea53207410d508b67aac3976606114a586d7

github-actions[bot] commented 1 month ago

The build and test suite have started for your pull request.

To view your build log, please reference the build with source version: "PR_5606".

Additionally, check the latest "dev" source version to identify existing test failures. Please note that you are not responsible for the test failures that exist on both your PR and the dev branch.