Skip to main content

A library to help process HiRISE EDRs with ISIS.

Project description

hiproc

Documentation Status PyPI version Conda version

A library to help process HiRISE EDRs with ISIS.

  • Free software: Apache 2 License

Features

  • TODO: Complete testing against Perl Pipelines.

External Dependencies

These programs use as much ‘vanilla’ Python 3 as possible.

However, it does depend on the following:

Warning !

The algorithms based on the HiRISE Processing Pipelines were emulated and tested locally, but the results of each pipeline have not been tested directly against the results of the HiRISE Processing Pipelines, and this warning will remain until I have done so. As a result, I would not particularly ‘trust’ anything produced by these programs at this time, and consider these algorithms a work-in-progress.

These programs have been tested against their upstream Perl counterparts:

  • EDR_Stats: Verified!

    Really just runs hi2isis so no surprise here.

  • HiCal: Verified.

    Upstream is undergoing change, needs to be re-verified once upstream settles down.

  • HiStitch: not verified

  • HiccdStitch: not verified

  • HiColorInit: not verified

  • HiJitReg: not verified

  • HiSlither: not verified

  • HiColorNorm: not verified

  • HiBeautify: not verified

  • HiPrecisionInit: not verified

  • HiNoProj: not verified

  • HiJACK: not verified

Documentation

Full documentation for hiproc is available, including information on the processing flow of the various available programs, and each program is self-documenting via their -h argument.

Due to the interaction with ISIS and GDAL, please read the installation instructions carefully.

Contributing

Feedback, issues, and contributions are always gratefully welcomed. See the contributing guide for details on how to help and setup a development environment.

Naming

The ISIS software has a number of processing or “proc” programs (mocproc, thmproc, etc.) that are meant to be run to process raw images to higher-level, more usable versions. Naming this library hiproc is an echo to that. There is a hiproc program that is available after installation that provides a streamlined one-stop-program, but this package provides a great deal more.

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

When updating this file, please add an entry for your change under Unreleased and one of the following headings:

  • Added - for new features.

  • Changed - for changes in existing functionality.

  • Deprecated - for soon-to-be removed features.

  • Removed - for now removed features.

  • Fixed - for any bug fixes.

  • Security - in case of vulnerabilities.

If the heading does not yet exist under Unreleased, then add it as a 3rd level heading, underlined with pluses (see examples below).

When preparing for a public release add a new 2nd level heading, underlined with dashes under Unreleased with the version number and the release date, in year-month-day format (see examples below).

Unreleased

0.8.1 (2021-07-06)

Added

  • Additional logging of the HiPrecisionInit output during a hiproc run, which was previously obscured.

Fixed

  • In some legitimate cases, some elements returned from ISIS histat would be missing (e.g. in the case of no valid pixels in the CAL_BUFFER area, there is no returned value of “Average”), but were not handled properly (Issue #3). More robust handling was added.

0.8.0 (2021-06-30)

Changed

  • bitflips.py: Removed the span check when considering end values, which may affect how the algorithm deals with “mostly good” DN histograms, such that it should now correctly handle mesa-shaped DN histograms and not chop them in the middle.

0.7.1 (2021-06-21)

Fixed

  • The new-in-0.7.0 multiprocessing requires that the multidict package be installed (for pvl to use), and it wasn’t included in the requirements. If you have 0.7.0, a simple “conda install multidict” should get you working.

0.7.0 (2021-06-15)

Added

  • Improved documentation

  • environment.yml for conda development

  • Added Python-based multiprocessing capabilities to EDR_Stats, HiCal, and hiproc.

Changed

  • Incorporated changes from upstream to HiCal to make bitflip and lisfix settings on by default.

Fixed

  • resolve_jitter output header lines properly commented, now doesn’t bomb HiJACK’s run of hijitter.

  • now, additionally supporting ISIS 4.1.1 through 5.0.0

  • Upstream addressed a bug in analyze_cubenorm_stats() that we had noticed, so now fixed here, too.

  • MANIFEST.in did not properly include the “data” directory, so that was a problem.

0.6.1 (2021-03-23)

Added

  • lisfix will return a non-zero exit code if it chooses not to fix the input cube.

Changed

  • Updated documentation in various places.

0.6.0 (2021-03-18)

Added

  • More complete documentation for the programs and their parameters.

Changed

  • Implemented better handling for configuration files so that they will get distributed with the package.

0.5.0 (2021-03-05)

Added

  • lisfix: Added the lisfix module.

  • bitflips: Sometimes the very end of the histogram (although not a formal minima) is the appropriate choice, and is now considered.

  • bitflips: Added capability to ignore minor maxima at the ends of the histogram to “roll down” to a better solution.

Changed

  • name change of project from pyrise to hiproc.

  • bitflips: Changed the default medstd_limit from 300 to 400 DN.

Fixed

  • bitflips: There were a variety of edge cases that resulted in errors. The appropriate guardrails, handlers, and recovery logic has now been added.

  • HiStitch: The equalize and balance parameters cannot both be true.

0.4.0 (2020-09-22)

  • Tremendous amount of re-working in bitflips to improve performance.

  • Format cleanup

0.3.0 (2020-05-16)

  • Confirmed that EDR_Stats and HiCal produce identical output cubes.

0.2.0 (2020-05-06)

  • Updated with bit-flip correction.

0.1.0 2020-03-21

  • First shared on GitHub

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hiproc-0.8.1.tar.gz (224.1 kB view details)

Uploaded Source

Built Distribution

hiproc-0.8.1-py2.py3-none-any.whl (201.6 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file hiproc-0.8.1.tar.gz.

File metadata

  • Download URL: hiproc-0.8.1.tar.gz
  • Upload date:
  • Size: 224.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.11

File hashes

Hashes for hiproc-0.8.1.tar.gz
Algorithm Hash digest
SHA256 b27fdddbefc2067c677a0ea5cfa4c896ea235b31bcff76abac6fd3cbf44f30ae
MD5 d5b4ee2f48b3b4f7519cd9aa5315eee6
BLAKE2b-256 cd7898678a1f798e13a4b1812e57c84ad5ce32d1a2a91e5e109f008c16e59994

See more details on using hashes here.

File details

Details for the file hiproc-0.8.1-py2.py3-none-any.whl.

File metadata

  • Download URL: hiproc-0.8.1-py2.py3-none-any.whl
  • Upload date:
  • Size: 201.6 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/49.6.0.post20210108 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.6.11

File hashes

Hashes for hiproc-0.8.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 184022567d93769e582cc29f90de523c903b670b3666a95b885a2ba97afe02be
MD5 67e3974d24af79172597e0acb110ceac
BLAKE2b-256 9320b6317b98a5d21e3c1a065658654e11a3f8295bc7b298fc6b401a7ee9bed6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page