Skip to content

Commit

Permalink
Lro lidar infrastructure updated to repo dev. (#3043)
Browse files Browse the repository at this point in the history
* Updated the cmake version to 3.10

* Adding configurations for gtest

* Tweaking things for gtest

* Got gtest working and made a small example test

* Updated the cmake version to be 3.10 or greater

* Added test file discovery support and seperated the main into another file

* Added more tests for FileName

* Updated with the new testing guidelines and added new tests.

* Added gmock

* PixelTest (#536)

* initial Pixel test

* Add more test cases for Pixel

* testing parameterization in Pixel test

* testing function parameterization

* parameterize static vs object methods

* basic PixelTests implementation

* clean up and more static tests

* update PixelTests with float/dbl expects

* Refactored stats to a functions

* Modified to have cubeit remove mosaic pixel tracking info from labels. Fixes #5533

* Update cubeit.xml

Fixed a typo

* Fixes conda channels in Jenkinsfile & adds a MacOS node (#633)

* Merged dev and cleaned up header conflicts

* Update for #619.

* Fix libtiff dependency (#636) (#644)

* Upgrade libtiff to 4.0.10 (#636)

* Switch libtiff to 4.0.9 or higher to remove geotiff conflict

* Moved ISIS3 conda-build recipe from ISIS3_deps repository (#650)

* Fixed warning in Pixel unit tests

* Removing build numbers from external libraries (#660)

* Moved ISIS3 conda-build recipe from ISIS3_deps repository

* Un-pinned non-astro build numbers

* Removing build numbers from external libraries in the environment and meta.yeml files

* Final merging

* Added pixel type attribute to the output image of program shadow. Fixes #5187 (#659)

* Removed bolding of some text to decrease distraction.

* Fixed some typos.

* Reworded documentation.

* Added section for Environment and PreferemcesSetup in the Getting Started Section. (#663)

* Updated .gitmodules to use https rather than ssh (#673)

* Added build type release to conda recipe (#676)

* Updates README with Discourse (#690)

* Updates README with Discourse

* Update README.md

* Update README.md

* Added fix to Spice Server to accept clients with version nums >=3.5.*.* (#780)

* Fixed error when trying to export a compressed image using pds2hideal. Fixes #5525. (#2059)

* Added capability to export a compressed image with tables missing RECORD_BYTES keyword. Added test for compressed image.

* Changed names of test output cubes.

* Adding explanatory comments to the meta.yaml file (#2358)

* Adding explanatory comments to the recipes/meta.yaml

* Replacing accidentally erased line

* Added option to sort the output for consistent order in testing and added a test case

* Cleaned up commented out lines in LidarData.h and .cpp

* Added additional documentation for LidarData, LidarControlPoint, and lrolola2isis

* Multisegment DSK support for Bullet engine (#2791)

* Merged multisegment DSKs for Bullet

* basic tests

* removed original tests

* Minor updates to download sizes and some text. (#2790)

* Removed debug lines from LidarData.cpp and old comments from the lrolola2isis twoImage test

* Added an additional comment about the Test format to LidarData.cpp

* Phocube will export RA and declination planes even if the point is not on the planet. Fixes #4446 (#657)

* Made it so that RA and Dec are added last.

* Updated code to be up to standards.

* Added RA and dec test.

* Updated history comment.

* Renamed test.

* Fixed typo in documentation

* Refactored code so that RA and dec are placed in the correct bands instead of moving them to the last two bands.

* Updated documentation, test now checks cube label.

* Fixed SummingMode keyword being set in tgocassis2isis  (#2847)

* Adding Expanded keyword to cassis label and modifying SummingMode keyword

* Updating the window count value

* Adding capacity to handle imports without Expanded tag

* Setting tgocassismos to have tracking turned-on (#2856)

* Adding parameter "tracking=true" to tgocassismos call to automos

* Adding documentation

* Fixing indentation in documentation

* Updates to tgocassisrdrgen and ProcessExportPds4 to add content to exported CaSSIS Label. (#2858)

* Add 32-bit ISIS Special Pixel Constants to ProcessExportPds4

* Add ability to set title and version id in exported PDS4 produce in tgocassisrdrgen and ProcessExportPds4 API

* Fix bug that occurs when exporting mosaics with Archive groups and fixed min/max lat/lon to east/west bounding box positive east flip bug

* Added docs.

* Update schema to most recent versions and comment-out schema that isn't used (temporarily) in tgocassisrdrgen.
  • Loading branch information
dcookastro authored and kledmundson committed Mar 1, 2019
1 parent aec954d commit b130ce7
Show file tree
Hide file tree
Showing 57 changed files with 1,725 additions and 1,191 deletions.
1 change: 1 addition & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<!--- What types of changes does your code introduce? Put an `x` in all the boxes that apply: -->
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Documentation change (update to the documentation; no code change)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)

## Checklist:
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[submodule "gtest"]
path = gtest
url = git@github.com:google/googletest.git
url = https://github.com/google/googletest.git
60 changes: 48 additions & 12 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@ nodes["isis-fedora-25"] = {
git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
// sh """
// git clone https://github.com/abseil/googletest.git gtest
// sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
// sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
// sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
// conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
// conda config --prepend channels anaconda
// conda config --append channels conda-forge
// conda config --append channels usgs-astrogeology
// conda config --prepend default_channels anaconda
// conda env create -n isis3 -f environment.yml
// source activate isis3
// mkdir -p ./install ./build && cd build
Expand All @@ -35,9 +37,11 @@ nodes["isis-centos-7"] = {
git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
// sh """
// git clone https://github.com/abseil/googletest.git gtest
// sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
// sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
// sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
// conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
// conda config --prepend channels anaconda
// conda config --append channels conda-forge
// conda config --append channels usgs-astrogeology
// conda config --prepend default_channels anaconda
// conda env create -n isis3 -f environment.yml
// source activate isis3
// mkdir -p ./install ./build && cd build
Expand All @@ -61,9 +65,11 @@ nodes["isis-debian-9"] = {
git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
// sh """
// git clone https://github.com/abseil/googletest.git gtest
// sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
// sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
// sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
// conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
// conda config --prepend channels anaconda
// conda config --append channels conda-forge
// conda config --append channels usgs-astrogeology
// conda config --prepend default_channels anaconda
// conda env create -n isis3 -f environment.yml
// source activate isis3
// mkdir -p ./install ./build && cd build
Expand All @@ -87,9 +93,39 @@ nodes["isis-ubuntu-1804"] = {
git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
// sh """
// git clone https://github.com/abseil/googletest.git gtest
// sed -i "s|usgs-astrogeology|http://astro-bin.wr.usgs.gov/conda-usgs-astrogeology|" environment.yml
// sed -i "s|conda-forge|http://astro-bin.wr.usgs.gov/conda-forge|" environment.yml
// sed -i "s|defaults|http://astro-bin.wr.usgs.gov/conda|" environment.yml
// conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
// conda config --prepend channels anaconda
// conda config --append channels conda-forge
// conda config --append channels usgs-astrogeology
// conda config --prepend default_channels anaconda
// conda env create -n isis3 -f environment.yml
// source activate isis3
// mkdir -p ./install ./build && cd build
// cmake -GNinja -DJP2KFLAG=OFF -Dpybindings=OFF -DCMAKE_INSTALL_PREFIX=../install -Disis3Data=/usgs/cpkgs/isis3/data -Disis3TestData=/usgs/cpkgs/isis3/testData ../isis
// set +e
// ninja -j8 && ninja install
// source /usgs/cpkgs/isis3/isis3mgr_scripts/initIsisCmake.sh .
// ctest -V -R _unit_ --timeout 500
// ctest -V -R _app_ --timeout 500
// ctest -V -R _module_ --timeout 500
// """
}
}
}
}

nodes["mac1013"] = {
node("mac1013") {
withEnv(["ISISROOT=" + "${workspace}" + "/build/", "ISIS3TESTDATA=/usgs/cpkgs/isis3/testData/", "ISIS3DATA=/usgs/cpkgs/isis3/data/"]) {
stage ("MacOS 10.13 (High Sierra)") {
git branch: 'dev', url: 'https://github.com/USGS-Astrogeology/ISIS3.git'
// sh """
// git clone https://github.com/abseil/googletest.git gtest
// conda config --set channel_alias http://astro-bin.wr.usgs.gov/conda
// conda config --prepend channels anaconda
// conda config --append channels conda-forge
// conda config --append channels usgs-astrogeology
// conda config --prepend default_channels anaconda
// conda env create -n isis3 -f environment.yml
// source activate isis3
// mkdir -p ./install ./build && cd build
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# ISIS3

[![Join the chat at https://gitter.im/USGS-Astrogeology/isis3_cmake](https://badges.gitter.im/USGS-Astrogeology/isis3_cmake.svg)](https://gitter.im/USGS-Astrogeology/isis3_cmake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![Join the discourse at https://astrodiscuss.usgs.gov](https://img.shields.io/discourse/https/astrodiscuss.usgs.gov/topics.svg?style=flat)](https://astrodiscuss.usgs.gov/)

## Table of Contents

Expand Down Expand Up @@ -110,19 +111,19 @@ To build and compile ISIS3 requires following the instructions listed below, whi

### Mission Requirements

ISIS3 supports many planetary missions; in fact, over 40 different instruments including some flown as early as the 1960s. Ancillary data are required to process images from these instruments. For example, translation definition files to help convert from PDS format to ISIS cubes, dark current and flat file images for radiometric calibration, and large quantities of SPICE files (spacecraft pointing and position) for map projecting images. If you plan to work with data from all missions, then the download will require about 180 GB for all the ancillary data. However, most of this volume is taken up by SPICE files. We have a SPICE Web service that can be used in lieu of downloading all of the SPICE files which can reduce the download size to 10 GB. When downloading ISIS, you will have the option of choosing which mission data to acquire as well as if you only want the translation and calibration files and not SPICE files.
ISIS3 supports many planetary missions; in fact, over 40 different instruments including some flown as early as the 1960s. Ancillary data are required to process images from these instruments. For example, translation definition files to help convert from PDS format to ISIS cubes, dark current and flat file images for radiometric calibration, and large quantities of SPICE files (spacecraft pointing and position) for map projecting images. If you plan to work with data from all missions, then the download will require about 530 GB for all the ancillary data. However, most of this volume is taken up by SPICE files. We have a SPICE Web service that can be used in lieu of downloading all of the SPICE files which can reduce the download size to 10 GB. When downloading ISIS, you will have the option of choosing which mission data to acquire as well as if you only want the translation and calibration files and not SPICE files.

### DTM Requirements

The strength of ISIS3 lies in its capabilities for planetary cartography. The image orthorectification process is improved if a digital terrain model (DTM) is used. The DTMs can be quite large and take some time to download. They exist for many planetary bodies (e.g., the Moon, Mars, etc.). Therefore, there are options for selecting which DTMs to download if you are only working with a particular target body.
The strength of ISIS3 lies in its capabilities for planetary cartography. The image orthorectification process requires a digital terrain model (DTM). The DTMs can be quite large and take some time to download. They exist for many planetary bodies (e.g., the Moon, Mars, etc.). Therefore, there are options for selecting which DTMs to download if you are only working with a particular target body.

<span id="ISIS3DataDownload"></span>

### Full ISIS3 Data Download

Mission data is hosted on rsync servers and not through conda channels like the ISIS3 distribution. This requires using the rsync command from within a terminal window within your Unix distribution, or from within WSL if running Windows 10. Downloading all mission data requires over 130 GB of disk space. If you want to acquire only certain mission data [click here](#MissionSpecific). To download all ISIS3 data files, continue reading.
Mission data is hosted on rsync servers and not through conda channels like the ISIS3 distribution. This requires using the rsync command from within a terminal window within your Unix distribution, or from within WSL if running Windows 10. Downloading all mission data requires over 520 GB of disk space. If you want to acquire only certain mission data [click here](#MissionSpecific). To download all ISIS3 data files, continue reading.

To download all ISIS3 data (approximately 180 GB), enter the following commands at the command prompt:
To download all ISIS3 data (approximately 520 GB), enter the following commands at the command prompt:

cd $ISIS3DATA
rsync -azv --delete --partial isisdist.astrogeology.usgs.gov::isis3data/data .
Expand All @@ -149,7 +150,7 @@ ISIS can now use a service to retrieve the SPICE data for all instruments ISIS s

For example: `rsync -azv **--exclude='kernels'** --delete --partial isisdist.astrogeology.usgs.gov::isis3data/data/cassini data/`

<span style="font-size:120%; color:red; font-weight:bold"> WARNING: Some instruments require mission data to be present for calibration, which may not be supported by the SPICE Web Server exclusively, and some programs that are designed to run an image from ingestion through the mapping phase do not have an option to use the SPICE Web Service. For information specific to an instrument, see the documentation for radiometric callobration programs. </span>
<span style="font-size:120%; color:red; font-weight:bold"> WARNING: Some instruments require mission data to be present for radiometric calibration, which may not be supported by the SPICE Web Server exclusively, and some programs that are designed to run an image from ingestion through the mapping phase do not have an option to use the SPICE Web Service. For information specific to an instrument, see the documentation for radiometric callobration programs. </span>

#### Apollo Mission (kernels can be excluded):

Expand Down
61 changes: 29 additions & 32 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,65 +6,62 @@ channels:

dependencies:
- armadillo==8.200.0
- blas==1.1=openblas
- bullet==2.86.1=0
- blas==1.1
- bullet==2.86.1
- bz2file==0.98
- bzip2==1.0.6=1
- bzip2==1.0.6
- cmake>=3.10
- cspice==66=h470a237_3
- curl==7.60.0=0
- doxygen==1.8.14=0
- eigen==3.3.3=0
- embree==2.14.0=0
- cspice==66
- curl==7.60.0
- doxygen==1.8.14
- eigen==3.3.3
- embree==2.14.0
- geos==3.5.1
- geotiff==1.4.2=1
- geotiff==1.4.2
- gmm==5.0
- gmp==6.1.2=0
- gsl==2.2.1=blas_openblas_3
- hdf5==1.8.18=2
- icu==58.2=0
- gmp==6.1.2
- gsl==2.2.1
- hdf5==1.8.18
- icu==58.2
- jama==125
- jpeg==9b=2
- jpeg==9b
- kakadu==1
- krb5==1.14.2=0
- krb5==1.14.2
- libpng>=1.6.34
- libprotobuf==3.5.2
- libtiff==4.0.9=0
- libxml2==2.9.7=0
- libtiff>=4.0.9
- libxml2==2.9.7
- make
- mesalib==17.2.0=0
- mesalib==17.2.0
- mysql==5.7.20
- mysql-connector-c==6.1.6=0
- mysql-connector-c==6.1.6
- nanoflann==1.2.2
- ninja==1.7.2=0
- ninja==1.7.2
- conda-forge/label/gcc7::nn
# - numpy==1.13.3=py36_blas_openblas_200
- openblas==0.2.19=2
- openblas==0.2.19
- opencv
- openssl==1.0.2n=0
- openssl==1.0.2n
- patchelf==0.9
- pcl==1.8.1
- pip==9.0.1
- protobuf==3.5.2
# - pyqt==5.6.0
- python==3.6
- qhull==7.2.0=0
- qt=5.9.6
- qwt=6.1.3
- setuptools=38.5.1
- sip==4.18
- sqlite==3.13.0=1
- suitesparse==4.5.4=blas_openblas_200
- superlu==5.2.1=blas_openblas_201
- sqlite==3.13.0
- suitesparse==4.5.4
- superlu==5.2.1
- tnt==126=0
- wheel==0.30.0
- x264==20131218
- xalan-c==1.11
- xerces-c==3.1.4=0
- xorg-kbproto==1.0.7=1
- xerces-c==3.1.4
- xorg-kbproto==1.0.7
- xorg-libice
- xorg-libsm
- xorg-libx11==1.6.4=6
- xorg-libx11==1.6.4
- xorg-libxi
- zlib==1.2.11=0

- zlib==1.2.11
59 changes: 28 additions & 31 deletions environment_gcc4.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,64 +8,61 @@ channels:
dependencies:
- armadillo==8.200.0
- blas==1.1=openblas
- bullet==2.86.1=0
- bullet==2.86.1
- bz2file==0.98
- bzip2==1.0.6=1
- bzip2==1.0.6
- cmake>=3.10
- cspice==66=h470a237_3
- curl==7.60.0=0
- doxygen==1.8.14=0
- eigen==3.3.3=0
- embree==2.14.0=0
- cspice==66
- curl==7.60.0
- doxygen==1.8.14
- eigen==3.3.3
- embree==2.14.0
- geos==3.5.1
- geotiff==1.4.2=1
- geotiff==1.4.2
- gmm==5.0
- gmp==6.1.2=0
- gsl==2.2.1=blas_openblas_3
- hdf5==1.8.18=2
- icu==58.2=0
- gmp==6.1.2
- gsl==2.2.1
- hdf5==1.8.18
- icu==58.2
- jama==125
- jpeg==9b=2
- jpeg==9b
- kakadu==1
- krb5==1.14.2=0
- krb5==1.14.2
- libpng>=1.6.34
- libprotobuf==3.5.2
- libtiff==4.0.9=0
- libxml2==2.9.7=0
- libtiff>=4.0.9
- libxml2==2.9.7
- make
- mesalib==17.2.0=0
- mesalib==17.2.0
- mysql==5.7.20
- mysql-connector-c==6.1.6=0
- mysql-connector-c==6.1.6
- nanoflann==1.2.2
- ninja==1.7.2=0
- ninja==1.7.2
- nn==1.86.0
# - numpy==1.13.3=py36_blas_openblas_200
- openblas==0.2.19=2
- openblas==0.2.19
- opencv
- openssl==1.0.2n=0
- openssl==1.0.2n
- patchelf==0.9
- pcl==1.8.1
- pip==9.0.1
- protobuf==3.5.2
# - pyqt==5.6.0
- python==3.6
- qhull==7.2.0=0
- qt=5.9.6
- qwt=6.1.3
- setuptools=38.5.1
- sip==4.18
- sqlite==3.13.0=1
- suitesparse==4.5.4=blas_openblas_200
- superlu==5.2.1=blas_openblas_201
- sqlite==3.13.0
- suitesparse==4.5.4
- superlu==5.2.1
- tnt==126=0
- wheel==0.30.0
- x264==20131218
- xalan-c==1.11
- xerces-c==3.1.4=0
- xorg-kbproto==1.0.7=1
- xerces-c==3.1.4
- xorg-kbproto==1.0.7
- xorg-libice
- xorg-libsm
- xorg-libx11==1.6.4=6
- xorg-libx11==1.6.4
- xorg-libxi
- zlib==1.2.11=0

- zlib==1.2.11
5 changes: 3 additions & 2 deletions isis/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ find_package(Armadillo REQUIRED)
find_package(Threads)


# Im this case, we specify the version numbers being searched for in the non-traditional installs.
# In this case, we specify the version numbers being searched for in the non-traditional installs.
if(APPLE)
find_package(OpenGL REQUIRED)
endif(APPLE)
Expand Down Expand Up @@ -443,7 +443,8 @@ add_custom_target(docs COMMAND ${CMAKE_COMMAND}
# will be executed when running "ninja install"
# On a clean build, all files will be copied over.
add_custom_target(incs ALL COMMAND ${CMAKE_COMMAND} -E copy_if_different
${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp ${CMAKE_BINARY_DIR}/inc)
${CMAKE_SOURCE_DIR}/src/*/objs/*/*.h ${CMAKE_SOURCE_DIR}/src/*/objs/*/*.hpp
${CMAKE_SOURCE_DIR}/src/*/apps/*/*.h ${CMAKE_BINARY_DIR}/inc)
add_dependencies(isis3 incs)

# Add a custom build target to clean out everything that gets added to the source
Expand Down
Loading

0 comments on commit b130ce7

Please sign in to comment.