Unverified Commit 874efcb0 authored by kledmundson's avatar kledmundson Committed by GitHub
Browse files

Lro lidar infrastructure (#3252)

* 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

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

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

* Adds Issue Templates to Issues (#664)

* Adds issue templates

* Verbage update

* Updates issue template for questions (#3131)

Removed a newline in the header that I believe was causing the automatic template detection to fail.

* Added gtest for ID and split TestUtilities into a cpp and h file to fix duplicate symbol error when building. (#2824)

Code reviewed and tested

* tgocassisrdrgen exported label re-order.  (#3135)

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

* Added reorder function to ProcessExportPds4 to reorder xml files generated in the wrong order for PDS4 and added cassis-specific schema

* Update label generated by tgocassisrdrgen from additional feedback (#3137)

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

* Added reorder function to ProcessExportPds4 to reorder xml files generated in the wrong order for PDS4 and added cassis-specific schema

* Add StopTime to tgocassismos's Mosaic PVL group, as it is required for PDS4 export. Also, fix time formatting and east_azimuth units

* Remove comment

* Updated truthdata for ProcessExportPds4 class to match updates made for CaSSIS sprint (#3146)

* Fix time-formatting in reingested CaSSIS images. (#3149)

* Updated truthdata for ProcessExportPds4 class to match updates made for CaSSIS sprint

* Fix trailing Z time-format in tgocassis2isis when reingesting images exported from ISIS3

* Added LineEqationTests.cpp (#3152)

* History entry added to cube after running sumspice. Fixes #4972. (#658)

* Added WriteHistory() method to SumFinder.

* Renamed method.

* Refactored writeHistory to be up to isis standards.

* Added history entries and updated code to be up to isis standards.

* Updated history entry.

* adding dedicated BundleLidarPointVector class

* adding dedicated BundleLidarPointVector class

* adding dedicated BundleLidarPointVector class

* Various minor mods to the readme (#3165)

* Added FileList test (#3168)

* Added LineEqationTests.cpp

* Added FileListTests.cpp
Implemented an istream constructor in FileList.cpp to help with testing.

* added FileList tests. implemented istream constructor for FileList.cpp to help with testing.

* fixed whitespace issues in FileListTests.cpp

* Update FileListTests.cpp

* Cleaned up data area wording in install guide (#3170)

* temp commits for testing bundle with lidar

* temp commits to bundle lidar

* Add ISIS3 update instructions to README (#3175)

* Merged multisegment DSKs for Bullet

* updated with update instructions

* isis->isis3

* added header

* Updating Contributing.md (#3179)

* Merged multisegment DSKs for Bullet

* updated with update instructions

* isis->isis3

* added header

* updated contributing guidelines

* removed mentions of TC

* Added LatitudeTest using Gtest (#3160)

* Added gtest for ID and split TestUtilities into a cpp and h file to fix duplicate symbol error when building.

* Created LatitudeTests.

* Added C-Shell variable setup (#3173)

* Added C-Shell variable setup

* Fixed history

* Made a bit more pythonic

* Updates BulletDSKShape's methods for multisegment DSKs (#3181)

* fixed DSK segment methods

* fixed some errors

* added contraints

* fixed bug where an extra segment was added

* Fixed memory leak in Bullet shape model (#3180)

* Added AffineTests (#3166)

* Add Longitude gtest (rebase of #601) (#3182)

* Created gtest for Longitude class

* Remove old Longitude test

* Fix syntax for Longitude Tests

* Remove comment

* Revert "Remove old Longitude test"

This reverts commit 608d3fd5c32d7e4a1de7fec407697a0147fbfae0.

* Cleaned file, organzied test cases

* Fixed failing copy constructor test

* Fixed bug where findrx was not adding a history blob to the input cube (#3186)

* Added writeHistory to findrx.

* Rearranged includes in findrx.

* Removed extra exceptions writing controlnets (#3185)

* Fixed bug where focal plane measured x,y coordinates were not set if the cam->SetImage call failed, References #2591). (#3193)

* updates to ControlPoint::ComputeApriori

* Fixed bug where focal plane measured x,y coordinates were not set if the cam->SetImage call failed (References #2591). Added check to IsConstrained() method to see if point type is Free, in which case we ignore stored a priori sigmas on the coordinates.

* added isis error when GenericTransform::calculateInverse gets empty matrix (#3195)

* Writing 0 Value Residuals to PVL (#3194)

* Allowed writting of residuals when value is zero to controlnet pvl

* Updated ControlNetVersioner unit test

* Fixing errors introduced with the changes to ProcessExportPds4.cpp for the tgo sprint. (#3202)

* Github/Discuss Documentation Update (#3203)

* Updated website documentation to point to github and discuss where appropriate

* Updated last install link

* Added BasisFunctionTests.cpp. Removed BasisFunction unit test and tru… (#3200)

* Added BasisFunctionTests.cpp. Removed BasisFunction unit test and truthfile.

* changed expectedOutput values for some of the tests

* Update README.md (#3204)

Updated to include instructions for release candidate builds on anaconda

* Added gtests for Displacement.cpp, removed Displacement unitTest and truthfile. (#3209)

* Added BasisFunctionTests.cpp. Removed BasisFunction unit test and truthfile.

* changed expectedOutput values for some of the tests

* Made tests for Displacement.cpp using gtest. removed Displacement unitTest and truthfile.

* Updated README data area instructions (#3214)

* Fixed data area instructions in README and some links

* Fixed bold in block quote

* Fixed legacy install guide link

* extra l

* Testing indentation list

* Testing indentation list again

* Testing indentation list code snippet

* Minor wording clean up

* Removed extra number

* Removed duplicate Mars Odyssey entry

* Updates to the build recipe for ISIS releases for the 3.7.0 release candidate. (#3205)

* Minor modifications for RC build

* Small modification to version in the recipe/meta.yaml

* Updating release stage in isis/version

* Added Area3DTests.cpp (#3216)

* Added BasisFunctionTests.cpp. Removed BasisFunction unit test and truthfile.

* changed expectedOutput values for some of the tests

* Made tests for Displacement.cpp using gtest. removed Displacement unitTest and truthfile.

* Added Area3DTests.cpp, removed Area3D truthfile and unit test.

* included TestUtilities.h for use with exception testing, added a test for teh Area3D '=' operator

* changed formatting to adhere to USGS coding standards

* re-addedd the unit test and truth file

* gllssi2isis Original Label Fix (#3226)

* Allowed writting of residuals when value is zero to controlnet pvl

* Updated ControlNetVersioner unit test

* Fixed pvl labels original pvl labels not being written to the resulting cube.

* Updated docstrings and history for updated methods

* Removed the need to set the output cube pixel type

* Reverted proceeimport changes

* Set the dimensions in the process before processing

* Added missing 1 in a history record

* Reverted and applied a more appropriate fix

* Used outfile obtained at the beginning of the program

* Added history comment to app xml

* Removed accidental comma (#3230)

* Update README.md (#3232)

Update readability

* Modifying files for conda build for ISIS3.7.0_RC2 (#3229)

* Modifying files for conda build for ISIS3.7.0_RC_2

* Changes to modifications until issue #3231 can be completed

* Small typo

* One final added comment for clarification

* Adding tab completion for tcsh on conda activation (#3244)

* updates for bundle lidar

* updates for bundle lidar

* added history comment noting that piecewise polynomial functionality has been disabled to get the lidar stuff working

* updates for bundle with lidar
parent 75a6aa17
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -49,7 +49,7 @@ print.prt
*/tsts/*/output/*
*/build/
build/
*/install/
install/

# Created by https://www.gitignore.io/api/macos
# Edit at https://www.gitignore.io/?templates=macos
+52 −75
Original line number Diff line number Diff line
# Contributing to ISIS3
# Under Construction

#### Table of Contents
[I have a question or a problem!](#i-have-a-question-or-a-problem)

[How can I contribute?](#how-can-i-contribute)
  * [Suggesting enhancements](#redmine-issues)
  * [Working on an existing issue or enhancement](#working-on-an-existing-issue-or-enhancement)
  * [Working on a new issue or enhancement](#working-on-a-new-issue)

[Code Base Contribution Guidelines](#code-base-contribution-guidelines)

[What can I expect from the ISIS3 development team](#What-can-I-expect-from-the-ISIS3-development-team)
  * [Response time](#Response-time)
  * [Feedback](#feedback)

[Development Process Checklists](https://github.com/USGS-Astrogeology/ISIS3/wiki/Developer-Checklists)

[References](#references)

## I have a question or a problem!
If you have a question about or a problem with ISIS3, please see the [Redmine Issues](#redmine-issues) section.

If you have a question or a problem with contributing to our software please contact mshepherd@usgs.gov

## How can I contribute?

### Redmine Issues
Redmine is our ticket tracking tool. If you have a question about, a problem with, or a suggestion for ISIS3, please read our [Guidelines for reporting Redmine issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Guidelines_for_Reporting_Issues). Once you have read that please [submit](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues/new) a Redmine issue.

### Working on an issue or enhancement
1. Find a issue or enhancement that you want to work on. Check Redmine [issues](https://isis.astrogeology.usgs.gov/fixit/projects/isis/issues) to see if there has been a ticket reported about it. If one does not exist that addresses what you want to work on, make a ticket.
2. Assign the Redmine issue to yourself. If you don't have the permission to do this, please make a note on the issue indicating that you would like to work on it. 
3. Propose a solution on the redmine issue. 
4. Work with an ISIS3 developer, the issue reporter, and any other interested parties to get feedback on your solution. This may be an iterative process.
5. Add an [impact statement](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Impact_Statement) to the redmine issue. If you don't have the permission to do this, please make a note on the issue with the impact statement.
6. Make the changes on your fork of the ISIS3 main GitHub repo. Follow the [Code Base Contribution Guidelines](#code-base-contribution-guidelines).
7. Follow the Developer's Checklist to ensure your changes are ready for review.
8. Make a pull request. Include the redmine issue number in the title of the pull request. Use the "Fixes #0000" format.
9. Work with your code reviewer, tester, and reporter to improve your changes. Your pull request will not be merged in until all parties approve the changes.
10. Check in your test data. If you are an outside contributer, work with your code reviewer to ensure your tests and test data get checked in.

### Working on a new issue or enhancement
1. Please create a [Redmine issue](#redmine-issues).
2. Indicate in the comments of your issue that you would like to work on the issue or enhancement.
3. Follow the [Working on an existing issue or enhancement](#working-on-an-existing-issue-or-enhancement) steps.
 
## Code Base Contribution Guidelines
The following is a set of guidelines for contributing to ISIS3. 
* Personal style changes will not be accepted.
* Changes to bring code closer to our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html) are encouraged.
* Please be professional, even in comments.
* Variable names must be meaningful.
* All modified code is required to pass our [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html).
* You must write or update tests to exercise any modified code.
* You must provide test data for any new or modified tests.
* You must have a Redmine issue assigned to you before submitting a pull request.
* You must complete the Developer Checklist before submitting your pull request.
* When submitting a pull request, you must include the Redmine issue number in the title of the pull request. Use the "Fixes #0000" format (#0000 being the Redmine ticket number).

## What can I expect from the ISIS3 development team?
### Response Time
Our response time will depend on availability and scheduling.
### Feedback
Our feedback will address any discrepancies related to the contribution guidelines, our coding standards and style guide, and our code review checklist.

## References
  * [ISIS3 API Reference](https://isis.astrogeology.usgs.gov/Object/Developer/index.html)
  * [Tutorials](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/ISIS_Online_Workshops)
  * [Application Documentation](https://isis.astrogeology.usgs.gov/Application/index.html)
  * [Coding Standards and Style Guide](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html)
  * [Documentation](https://isis.astrogeology.usgs.gov/documents/CodingStandards/CodingStandards.html#documentation)
  * [Redmine Issue Lifecycle](https://isis.astrogeology.usgs.gov/fixit/projects/isis/wiki/Life_Cycle_of_an_ISIS_Issue)
# ISIS Contributing Guide

The goal of this document is to create a contribution process that:

* Encourages new contributions.
* Encourages contributors to remain involved.
* Avoids unnecessary processes and bureaucracy whenever possible.
* Creates a transparent decision making process which makes it clear how
contributors can be involved in decision making.


## Vocabulary

* A **Contributor** is any individual creating or commenting on an issue or pull request.
* A **Committer** is a subset of contributors who have been given write access to the repository.

# Logging Issues

Log an issue for any question or problem you might have. When in doubt, log an issue,
any additional policies about what to include will be provided in the responses. The only
exception is security disclosures which should be sent privately.

Committers may direct you to another repository, ask for additional clarifications, and
add appropriate metadata before the issue is addressed.

Please be courteous, respectful, and every participant is expected to follow the
project's Code of Conduct.

# Contributions

Any change to resources in this repository must be through pull requests. This applies to all changes
to documentation, code, binary files, etc.

No pull request can be merged without being reviewed.

The default for each contribution is that it is accepted once no committer has an objection.
During review committers may also request that a specific contributor who is most versed in a
particular area gives a "LGTM" before the PR can be merged. There is no additional "sign off"
process for contributions to land. Once all issues brought by committers are addressed it can
be landed by any committer.

In the case of an objection being raised in a pull request by another committer, all involved
committers should seek to arrive at a consensus by way of addressing concerns being expressed
by discussion, compromise on the proposed change, or withdrawal of the proposed change.


# Becoming a Committer

All contributors who land a non-trivial contribution should be on-boarded in a timely manner,
and added as a committer, and be given write access to the repository.

Committers are expected to follow this policy and continue to send pull requests, go through
proper review, and have other committers merge their pull requests.
+134 −138

File changed.

Preview size limit exceeded, changes collapsed.

+55 −23
Original line number Diff line number Diff line
#!/usr/bin/env python
"""This program builds shell scripts that define ISIS3 environment variables during conda environment activation and deactivation, and creates some directories."""
"""
This program builds shell scripts that define ISIS3 environment variables during
conda environment activation and deactivation, and creates some directories.
"""

import argparse
import os
@@ -37,14 +40,17 @@ import sys
#       Description: Streamlined the program, improved documentation, and made the directory and
#                    file creation more `pythonic' rather than using system calls.
#
#       Author:  Jesse Mapel
#       Date:    2019-03-25
#       Description: Added C-Shell support.
#
#
##########################################################################################################

# There are still a lot of Python 2 installations out there, and if people don't have
# their conda environment set up properly, the error message they'll get will be hard
# to decipher.  This might help:
assert( sys.version_info >= (3,2) ) # Must be using Python 3.2 or later, is conda set up?

assert( sys.version_info >= (3,2) ) # Must be using Python 3.2 or later

# This just wraps and reports on the directory creation:
def mkdir( p ):
@@ -79,19 +85,45 @@ mkdir( activate_dir )
mkdir( deactivate_dir )

# Write the files that manage the ISIS3 environments:
activate_vars   =   activate_dir+'/env_vars.sh'
deactivate_vars = deactivate_dir+'/env_vars.sh'

with open( activate_vars, mode='w' ) as a:
    a.write('#!/bin/sh\n')
    a.write('export ISISROOT='+      os.environ['CONDA_PREFIX']+'\n')
    a.write('export ISIS3DATA='+     args.data_dir +'\n')
    a.write('export ISIS3TESTDATA='+ args.test_dir +'\n')
print( 'Wrote '+activate_vars )

with open( deactivate_vars, mode='w' ) as d:
    d.write('#!/bin/sh\n')
    d.write('unset ISISROOT\n')
    d.write('unset ISIS3DATA\n')
    d.write('unset ISIS3TESTDATA\n')
print( 'Wrote '+deactivate_vars )
activate_vars_sh   =   activate_dir+'/env_vars.sh'
deactivate_vars_sh = deactivate_dir+'/env_vars.sh'
activate_vars_csh   =   activate_dir+'/env_vars.csh'
deactivate_vars_csh = deactivate_dir+'/env_vars.csh'

with open( activate_vars_sh, mode='w' ) as a:
    script = """#!/bin/sh
export ISISROOT={}
export ISIS3DATA={}
export ISIS3TESTDATA={}
""".format(os.environ['CONDA_PREFIX'], args.data_dir, args.test_dir)
    a.write(script)
print( 'Wrote '+activate_vars_sh )

with open( deactivate_vars_sh, mode='w' ) as d:
    script = """#!/bin/sh
unset ISISROOT
unset ISIS3DATA
unset ISIS3TESTDATA
"""
    d.write(script)
print( 'Wrote '+deactivate_vars_sh )

with open( activate_vars_csh, mode='w' ) as a:
    script = """#!/bin/csh
setenv ISISROOT {}
setenv ISIS3DATA {}
setenv ISIS3TESTDATA {}

source $CONDA_PREFIX/scripts/tabCompletion.csh
""".format(os.environ['CONDA_PREFIX'], args.data_dir, args.test_dir)
    a.write(script)
print( 'Wrote '+activate_vars_csh )

with open( deactivate_vars_csh, mode='w' ) as d:
    script = """#!/bin/sh
unsetenv ISISROOT
unsetenv ISIS3DATA
unsetenv ISIS3TESTDATA
"""
    d.write(script)
print( 'Wrote '+deactivate_vars_csh )
+25 −0
Original line number Diff line number Diff line
#!/bin/csh


# Setup tab completion
if ( -f $ISISROOT/bin/isiscomplete ) then
  set newBinaries = `/bin/ls $ISISROOT/bin/xml | grep -v qt.conf | sed s%\.xml%%`
  set i = 0
  set loop = 0
  set chunk = ""
  foreach app ($newBinaries)
    @ i = $i + 1
    @ loop = $loop + 1
    set chunk = "$chunk $app"
    if ( "$i" == 100 || "$loop" == $#newBinaries) then
      eval `$ISISROOT/bin/isiscomplete $chunk`
      set i = 1
      set chunk = ""
    endif
  end
  unset i
  unset loop
  unset chunk
  unset app
  unset newBinaries
endif
Loading