DOI-USGS / knoten

Python Geospatial Sensor Exploitation Library
Other
3 stars 21 forks source link

Domain Review #97

Closed jessemapel closed 2 years ago

jessemapel commented 2 years ago

Domain reviews are specific to Scientific Software (Refer to Scientific Software IM) and ensure the software generates output that aligns with published or otherwise well-known expected results. Domain reviews may involve:

Domain reviews should be performed by a trusted scientific expert with applicable subject-matter knowledge as well as sufficient applicable programming knowledge.

AustinSanders commented 2 years ago

A domain review of Knoten has been conducted during the week of 05/23/22.

Knoten is a library that is used to provide support for Python wrapped Community Sensor Models by offering functions that facilitate common spatial / sensor operations. At time of review, this software contains the following four components: bundle.py, csm.py, util.py, and vis.py.

util.py holds only a single function, which is a duplicate of a function in vis.py.

vis.py contains solely visualization code used to facilitate testing. This code is not heavily algorithmic by nature, and serves only to aggregate and display data using the library "Plotly," which is a well known, well documented, and well tested external library.

csm.py and bundle.py contain the entirety of the scientific and algorithmically intensive code within Knoten. The code contained in these files is used to facilitate testing between the results of USGSCSM and ISIS camera models, and the results of these tests can be found in a series of Jupyter notebooks contained in the 'examples' directory. Furthermore, the repository contains a table with the results of these tests. In addition to the empirical testing conducted in these notebooks, the code within bundle.py is tested with unit tests.

PR #103 contains minor edits to documentation and comments to better align documentation with the code.

Based on the results of the repository's unit tests, example notebooks, and manual inspection of the code, Knoten passes domain review.