Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds csminit and csmpt as prototype CSM support #4143

Merged
merged 14 commits into from
Nov 25, 2020

Conversation

jessemapel
Copy link
Contributor

Description

This adds two apps:

  • csminit attaches a CSM model state to a cube
  • csmpt uses an attached CSM model stat to instantiate a CSM model and then run imageToGround

These two demonstrate rudimentary support for CSM in ISIS and are being used to test out the plugin loading and ISD/state loading schemes.

Related Issue

Continuing CSM in ISIS work

Motivation and Context

These apps exercise the CSM API in ISIS and demonstrate the logic required to get and use a CSM model. Eventually, much of this code will be housed elsewhere in the code base.

How Has This Been Tested?

Tested locally with usgscsm and CTX images.

Screenshots (if appropriate):

Types of changes

  • 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:

  • I have read and agree to abide by the Code of Conduct
  • I have read the CONTRIBUTING document.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have added tests to cover my changes.
  • All new and existing tests passed.
  • I have added myself to the .zenodo.json document.
  • I have added any user impacting changes to the CHANGELOG.md document.

Licensing

This project is mostly composed of free and unencumbered software released into the public domain, and we are unlikely to accept contributions that are not also released into the public domain. Somewhere near the top of each file should have these words:

This work is free and unencumbered software released into the public domain. In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain.

  • I dedicate any and all copyright interest in this software to the public domain. I make this dedication for the benefit of the public at large and to the detriment of my heirs and successors. I intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

Copy link
Contributor

@krlberry krlberry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some minor comments.

isis/src/base/objs/StringBlob/StringBlob.h Outdated Show resolved Hide resolved
isis/src/base/objs/StringBlob/StringBlob.cpp Outdated Show resolved Hide resolved
isis/src/base/apps/csminit/csminit.cpp Outdated Show resolved Hide resolved
isis/src/base/apps/csmpt/csmpt.cpp Outdated Show resolved Hide resolved
isis/src/base/apps/csminit/csminit.xml Outdated Show resolved Hide resolved
isis/src/base/apps/csminit/csminit.xml Outdated Show resolved Hide resolved
@jessemapel
Copy link
Contributor Author

Don't merge this yet, I'll address Kristin's comments after I get the spiceinit PR up.

@jessemapel jessemapel requested a review from krlberry November 25, 2020 00:22
Copy link
Contributor

@krlberry krlberry left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 Looks good!

@jessemapel jessemapel merged commit 2a2e56f into DOI-USGS:csm Nov 25, 2020
krlberry added a commit that referenced this pull request Jan 20, 2021
* Added Community Sensor Model as a dependency (#4130)

* Added Community Sensor Model as a dependency

* Added new keyword for CSM plugin locations

* Fixed csm entry to allow the 4th version number to float

* Csm plugin (#4142)

* Added Community Sensor Model as a dependency

* Added new keyword for CSM plugin locations

* Fixed csm entry to allow the 4th version number to float

* Load CSM plugin libraries

* Adds csminit and csmpt as prototype CSM support (#4143)

* Partial csminit code

* Update csminit to get compiling, update label based on discussion to store csm information in the Archive group, and write the state string out to the cube

* Removed Thanksgiving-themed debug output

* Updated StringBlob override methods

* Fixed some build errors

* Fixed header

* Working?

* Now working?

* First pass at csmpt application

* Better error checking

* Modified to use the plugin specification

* Addressed PR comments

Co-authored-by: Kristin <[email protected]>

* Update Test plugin and model to get partway to using a second sensor model

* Adds tests for csminit (#4151)

* Update Test plugin and model to get partway to using a second sensor model

* Add tests for csminit

* Fixed stream buffer flushing issue to fix json file issues

* Fix issue with reading/writing blobs to test cube and general cleanup and documentation

* Update PR based on comments

* Remove full path

* Update based on feedback

* modified csminit to put model info in a separate group (#4171)

* Added test model parameters

* Added geometric model stuff to alternate

* Moved csm info to new group

* Updated tests for csminit clean-up

* Changed test states to hold params

* Fixed param names and removed hardcoding

* Add documentation for testing plugin and sensosr model classes

* Added the ability to run spiceinit and csminit in any order (#4180)

* Added csminit cleanup

* spiceinit clean up

* Added no clean up test

* Added a new comment and fixed test name

* Update Test CSM Plugin to act more like a real plugin (#4187)

* Add documentation for testing plugin and sensosr model classes

* Update Test Plugin to act more like a functional plugin

* Remove comments

* Clean up

* Fix failing tests

* Update TestCsmPlugin based on feedback and add back in model construction from state based on name

* Switch to use comparison with static plugin name rather than hardcoded state

* Remove json include and unnecessary model_name from test

* Csm branch clean up (#4191)

* Removed csmpt

* General cleanup

* Review feedback

* Updated based on feedback

* Fix faulty spiceinit merge

Co-authored-by: Stuart Sides <[email protected]>
Co-authored-by: Kristin <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants