Skip to content

moved ale quickstart from ale docs to here #129

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

Open
wants to merge 9 commits into
base: main
Choose a base branch
from

Conversation

jrcain-usgs
Copy link
Contributor

@jrcain-usgs jrcain-usgs commented Feb 3, 2025

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.

Sister PR to ALE

@Kelvinrr
Copy link
Collaborator

will these contradict any existing docs?

@jrcain-usgs
Copy link
Contributor Author

I don't think so, is there a particular point you're concerned about with contradiction?. The QuickStart does have small snippets of things that are explained in more detail in other docs.

@Kelvinrr
Copy link
Collaborator

I guess I meant more if it's redundant to docs that exist, but a quick look seems like it doesn't

Comment on lines 17 to 40
Planetary imagery is not archived with sufficient data to generate an ISD
from only the image and its label. ALE currently supports two supplementary data
sources: ISIS cubes with attached SPICE, and NAIF SPICE Kernels.

For ISIS cubes with attached SPICE (the
[`spiceinit`](https://isis.astrogeology.usgs.gov/Application/presentation/Tabbed/spiceinit/spiceinit.html)
application has been run on them) then ALE will use the data embedded in the
cube file.

For PDS3 images or ISIS cubes without attached
SPICE, download the required NAIF SPICE Kernels for your
image. We recommend using the metakernels provided in the
[PDS kernel archives](https://naif.jpl.nasa.gov/naif/data_archived.html).
Specify the path for ALE to search for metakernels via the
`ALESPICEROOT` environment variable. This should be set to the directory where
you have the PDS kernel archives downloaded. An example structure would be

* $ALESPICEROOT
* mro-m-spice-6-v1.0
* dawn-m_a-spice-6-v1.0
* mess-e_v_h-spice-6-v1.0

See `ale.base.data_naif.NaifSpice.kernels` for more information about how to
specify NAIF SPICE kernels.
Copy link
Collaborator

Choose a reason for hiding this comment

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

most of this is out of date, I would point to ISISDATA docs since it's the same.

Comment on lines 1 to 13
# ALE Quick Start

This document provides a set of steps to get setup for generating Image Support
Data (ISD) for an image.

## Installation

Install ALE with conda. (If you don't have conda, [get it via miniforge](https://conda-forge.org/download/).)
```sh
conda create -n ale
conda activate ale # Activate your environment every time you need to use ALE.
conda install -c conda-forge ale
```
Copy link
Collaborator

Choose a reason for hiding this comment

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

it might not completely be overlapping with other docs, but I feel the "generate ISD" docs would be more useful? Way we should prefer that.

Comment on lines 42 to 54
## `load` and `loads`

The `ale.drivers.load` and `ale.drivers.loads` functions are
the main interface for generating ISDs. Simply pass them the path to your image
file/label and they will attempt to generate an ISD for it.

```py
import ale

image_label_path = "/path/to/my/image.lbl"
isd_string = ale.loads(image_label_path)
```

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We don't currently describe ALE load and loads in a beginner-friendly way in our docs.

This simple example for ALE load and loads in python is worth putting somewhere, and it could be followed with more detailed usage examples too. Other than that, the info here is duplicative/old and can be discarded.

I recommend we organize our info into 3 shorter (connected?) docs for ALE:

  1. Setup
  2. isd_generate (ALE scripting)
  3. load and loads (ALE in python)

I could also add the load/loads example to the Generating an ISD doc, and have one (sort of big) master doc.

@jrcain-usgs jrcain-usgs marked this pull request as draft March 4, 2025 01:07
@jrcain-usgs jrcain-usgs marked this pull request as ready for review March 7, 2025 16:06
Copy link
Contributor

@acpaquette acpaquette left a comment

Choose a reason for hiding this comment

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

Overall looks great! Couple things to address


-----

??? info "How Each Driver Type Works - *NaifSpice, IsisSpice, IsisLabel, and Pds3Label*"
Copy link
Contributor

Choose a reason for hiding this comment

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

Similar to another comment they types should be IsisLabel + NaifSpice, IsisLabel + IsisSpice, and Pds3Label + NaifSpice. This is largely due to each mixin on its own doesn't constitute a complete driver

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I relabeled this section as "How each driver mixin works", since I describe the IsisLabel and NaifSpice mixins here in ways that apply to multiple driver types.

@@ -0,0 +1,37 @@
# ALE in Python - `load` and `loads`
Copy link
Contributor

Choose a reason for hiding this comment

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

We should be able to reference the ALE manual here as that has a good description of the functions. It looks like the ALE manuals aren't properly rendering

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I haven't yet seen the ALE manual properly populated - Every time I've seen it, it's seemed more like a very loose outline. That's why I've included this short example here for now, but it would be good if we could add a link out to the ALE manual in the future.

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