+ Failed:
+ ================================================================================
+
+ Toolkit version: CSPICE_N0067
+
+ SPICE(NOSUCHFILE) --
+
+ The first file './data/lsk/naif0012.tls' specified by KERNELS_TO_LOAD in the file /Volumes/data/spice-data/mro-m-spice-6-v1.0/mrosp_1000/extras/mk/mro_2009_v14.tm could not be located.
+ ```
+
+ Open that .tm file (`mro_2009_v14.tm`), and change the PATH_VALUES line to point to your data; the folder containing folders for lsk, pck, sclk, fk, ik, spk, ck, etc...
+
+ ```
+ PATH_VALUES = ( './data' )
+ ```
+
+ if your `$ALESPICEROOT` is `/Volumes/data/spice-data`, and you are working with an MRO image, you might change it to:
+
+ ```
+ PATH_VALUES = ( '/Volumes/data/spice-data/mro-m-spice-6-v1.0/mrosp_1000/data' )
+ ```
+
+ Now save the metakernel try again, and, if your SPICE Data is correctly configured, you should not see the same error:
+
+ ```sh
+ isd_generate -n -v B10_013341_1010_XN_79S172W.cub
+ ```
\ No newline at end of file
diff --git a/docs/getting-started/using-ale/ale-python-load-loads.md b/docs/getting-started/using-ale/ale-python-load-loads.md
new file mode 100644
index 0000000..c807ef7
--- /dev/null
+++ b/docs/getting-started/using-ale/ale-python-load-loads.md
@@ -0,0 +1,37 @@
+# ALE in Python - `load` and `loads`
+
+
+
+- [:octicons-arrow-left-24: ALE SPICE Data Setup](../../getting-started/using-ale/ale-naif-spice-data-setup.md)
+
+- [:octicons-arrow-right-24: ALE on the Command Line](../../getting-started/using-ale/isd-generate.md)
+
+
+
+*See [Getting Started with ALE](../../getting-started/using-ale/index.md) for an overview of ALE Installation, NAIF SPICE Data Setup, and other ALE Topics.*
+
+## Basic Usage
+
+The `ale.load` and `ale.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)
+```
+
+-----
+
+More advanced usage can be seen in the CSM Stack Notebooks:
+
+
+
+- [:octicons-arrow-right-24: Instantiating a CSM Camera Model](../../getting-started/csm-stack/image-to-ground-tutorial.ipynb)
+
+- [:octicons-arrow-right-24: Knoten - Basic Camera Operations](../../getting-started/csm-stack/knoten-camera-tutorial.ipynb)
+
+
+
diff --git a/docs/getting-started/using-ale/index.md b/docs/getting-started/using-ale/index.md
new file mode 100644
index 0000000..8f93495
--- /dev/null
+++ b/docs/getting-started/using-ale/index.md
@@ -0,0 +1,77 @@
+# Getting Started with ALE
+
+## :material-numeric-1-circle-outline: Install ALE & Get SPICE Data
+
+
+
+- :material-package-variant:{ .lg .middle } __Install ALE in [conda](https://conda-forge.org/download/)__
+
+ ---
+
+ ```sh
+ conda create -n ale
+ conda activate ale
+ conda install -c conda-forge ale
+ ```
+
+ [:octicons-link-external-16: ALE Readme](https://github.com/DOI-USGS/ale/blob/main/README.md)
+
+- :octicons-download-16:{ .lg .middle } __Get SPICE Data__
+
+ ---
+
+ Download SPICE Data.
+ Tell ALE where to find it.
+ Learn about image/driver types.
+
+ [:octicons-arrow-right-24: Setup SPICE Data for ALE](../../getting-started/using-ale/ale-naif-spice-data-setup.md)
+
+
+
+-----
+
+## :material-numeric-2-circle-outline: ALE Basic Usage
+
+
+
+- :octicons-terminal-16:{ .lg .middle } __ALE on the Command Line__
+
+ ---
+
+ Use `isd_generate` to create ISDs
+
+ [:octicons-arrow-right-24: Generate an ISD](../../getting-started/using-ale/isd-generate.md)
+
+- :simple-python:{ .lg .middle } __ALE in Python__
+
+ ---
+
+ Create ISDs with `ale.load` & `ale.loads`
+
+ [:octicons-arrow-right-24: Get Started in Python](../../getting-started/using-ale/ale-python-load-loads.md)
+
+
+
+-----
+
+## :material-numeric-3-circle-outline: Using ALE in the CSM Stack
+
+
+
+- [:octicons-arrow-right-24: Instantiating a CSM Camera Model](../../getting-started/csm-stack/image-to-ground-tutorial.ipynb)
+
+- [:octicons-arrow-right-24: Knoten - Basic Camera Operations](../../getting-started/csm-stack/knoten-camera-tutorial.ipynb)
+
+
+
+-----
+
+## :material-numeric-4-circle-outline: Advanced Topics & ALE Development
+
+
+
+- [:octicons-arrow-right-24: Creating an ALE Driver](../../how-to-guides/ale-developer-guides/creating-ale-drivers.md)
+
+- [:octicons-arrow-right-24: ALE Drive Architecture](../../concepts/ale/ale-driver-architecture.md)
+
+
\ No newline at end of file
diff --git a/docs/getting-started/using-ale/isd-generate.md b/docs/getting-started/using-ale/isd-generate.md
index deb812a..ac2fca1 100644
--- a/docs/getting-started/using-ale/isd-generate.md
+++ b/docs/getting-started/using-ale/isd-generate.md
@@ -1,62 +1,16 @@
-# Generating an ISD with isd_generate
+# ALE on the Command Line - `isd_generate`
-## Prerequisites
+
-Before you can generate an ISD, you will need:
+- [:octicons-arrow-left-24: ALE SPICE Data Setup](../../getting-started/using-ale/ale-naif-spice-data-setup.md)
-- [ALE](https://github.com/DOI-USGS/ale?tab=readme-ov-file#setting-up-dependencies-with-conda-recommended)
-- An image ([Locating Image Data](../../getting-started/using-isis-first-steps/locating-and-ingesting-image-data.md))
- formatted according to your driver type.
-- SPICE Data according to your driver type.
+- [:octicons-arrow-right-24: ALE in Python](../../getting-started/using-ale/ale-python-load-loads.md)
-### Driver Types
+
-=== "NaifSpice + IsisLabel"
-
- For NaifSpice + IsisLabel Drivers, you will need:
-
- - An image [imported](../../getting-started/using-isis-first-steps/locating-and-ingesting-image-data.md#introduction-to-importing) into [ISIS](../../how-to-guides/environment-setup-and-maintenance/installing-isis-via-anaconda.md) .cub format with a [`-2isis` app](https://isis.astrogeology.usgs.gov/Application/index.html).
+*See [Getting Started with ALE](../../getting-started/using-ale/index.md) for an overview of ALE Installation, NAIF SPICE Data Setup, and other ALE Topics.*
- - NAIF SPICE Kernels (See [Setting up NAIF Data](#setting-up-naif-data)).
-
-
-=== "IsisSpice"
-
- For IsisSpice Drivers, you will need:
-
- - An image [imported](../../getting-started/using-isis-first-steps/locating-and-ingesting-image-data.md#introduction-to-importing) into [ISIS](../../how-to-guides/environment-setup-and-maintenance/installing-isis-via-anaconda.md) .cub format with a [`-2isis` app](https://isis.astrogeology.usgs.gov/Application/index.html),
-
- - AND the image must be [`spiceinit`ed](https://isis.astrogeology.usgs.gov/Application/presentation/Tabbed/spiceinit/spiceinit.html) with `spiceinit from=`.
-
-
-=== "Pds3Label"
-
- For Pds3Label Drivers, you will need:
-
- - An image in PDS3 format
-
- - NAIF SPICE Kernels (See [Setting up NAIF Data](#setting-up-naif-data)).
-
-
-
-??? info "Driver Types: NaifSpice, IsisSpice, IsisLabel, and Pds3Label."
-
- *NaifSpice* drivers use the NAIF Kernels to look up spice data to an image, while *IsisSpice* drivers depend on the image already having spice data attached with `spiceinit`.
-
- *IsisLabel* drivers use images in the ISIS .cub format, while *Pds3Label* drivers use images in the PDS format.
-
- **NaifSpice + IsisLabel** is the most commonly used driver type, but you can check the ALE driver to find out if IsisSpice or Pds3Label drivers are available instead or in addition:
-
- 1. Look at the [drivers in the ALE repository](https://github.com/DOI-USGS/ale/tree/main/ale/drivers).
- 1. Click on the drivers for the spacecraft that captured your image.
- 1. Find the class for your sensor, and look for NaifSpice, IsisSpice, IsisLabel, or Pds3Label next to the class name.
-
- There may be a class for both NaifSpice and IsisSpice; in that case you can use either, or use the `-n` or `-i` argument to specify which one to use. You might use `-i` for IsisSpice if you want to avoid re-`spiceinit`ing a .cub.
-
- By default, ALE will run through different drivers until either it finds one that works (at which point it will stop), or all drivers fail.
-
------
## Using isd_generate
@@ -148,11 +102,11 @@ When using an NAIF SPICE Data, you can specify a metakernel using the `--kernel`
- [ ] Is your image in ISIS format (or PDS format for Pds3Label Drivers)?
- [use](../../getting-started/using-isis-first-steps/locating-and-ingesting-image-data.md#introduction-to-importing)
a [`-2isis` app](https://isis.astrogeology.usgs.gov/Application/index.html) to convert images to ISIS format.
- - [ ] Do you have spice data...
+ - [ ] Do you have [spice data set up](../../getting-started/using-ale/ale-naif-spice-data-setup.md)?
- If using a NaifSpice Driver:
- - [ ] Spice Data [Downloaded from NAIF](#downloading-naif-spice-data-with-wget)?
- - [ ] [`$ALESPICEROOT` set](#setting-alespiceroot)?
- - [ ] [Metakernel `PATH_VALUE` set](#setting-the-path-value-in-a-metakernel)?
+ - [ ] Spice Data [Downloaded from NAIF](../../getting-started/using-ale/ale-naif-spice-data-setup.md#downloading-naif-spice-data-with-wget)?
+ - [ ] [`$ALESPICEROOT` set](../../getting-started/using-ale/ale-naif-spice-data-setup.md#setting-alespiceroot)?
+ - [ ] [Metakernel `PATH_VALUE` set](../../getting-started/using-ale/ale-naif-spice-data-setup.md#setting-the-path-value-in-a-metakernel)?
- If using an IsisSpice Driver:
- [ ] Spice Data attached to your image by [`spiceinit`](https://isis.astrogeology.usgs.gov/Application/presentation/Tabbed/spiceinit/spiceinit.html)?
- [ ] Check what's wrong with a `--verbose` run.
@@ -176,118 +130,7 @@ isd_generate --version
-----
-## Setting Up NAIF Data
-
-For use of NAIF Data with ISIS, see the [ISIS Data Area](../../how-to-guides/environment-setup-and-maintenance/isis-data-area.md). For use of NAIF data with ALE, continue below.
-
-### Downloading NAIF SPICE Data with wget
-
-!!! warning ""
-
- [[NAIF SPICE Data Home](https://naif.jpl.nasa.gov/naif/data.html)]
- [[Getting Spice Kernels from the NAIF Server](https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/Tutorials/pdf/individual_docs/34_naif_server.pdf)]
-
- If you have enough space, NAIF recommends downloading the entire dataset for your spacecraft, detailed below.
- Otherwise, you can try subsetting the data as detailed in the [NAIF Server tutorial](https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/Tutorials/pdf/individual_docs/34_naif_server.pdf).
- You will need `wget`, a common download utility.
-
- Let's download the Clementine archive as a test.
-
- 1. Find your mission on the [PDS SPICE Archives](https://naif.jpl.nasa.gov/naif/data_archived.html) and copy the **Archive Link**.
-
- - The url for the Clementine archive is:
- `https://naif.jpl.nasa.gov/pub/naif/pds/data/clem1-l-spice-6-v1.0/clsp_1000`
-
- 1. `cd` into you spice folder, the folder you have or will set as `$ALESPICEROOT`.
-
- 1. Piece together the `wget` command.
- 1. Starting with this base command... (Don't run it yet!)
- `wget -m -nH --cut-dirs=5 -R 'index.html*'`
-
- 1. add the url...
- `-nv https://naif.jpl.nasa.gov/pub/naif/pds/data/clem1-l-spice-6-v1.0/`
-
- 1. then filter by the directory path (last half of url)...
- `-I pub/naif/pds/data/clem1-l-spice-6-v1.0/`
-
- 1. and download into this folder (just the folder at the end of the url).
- `-P clem1-l-spice-6-v1.0/`
-
- 1. Run the complete wget command:
-
- ```sh
- wget -m -nH --cut-dirs=5 -R 'index.html*' -nv https://naif.jpl.nasa.gov/pub/naif/pds/data/clem1-l-spice-6-v1.0/clsp_1000 -I pub/naif/pds/data/clem1-l-spice-6-v1.0/clsp_1000 -P clem1-l-spice-6-v1.0/
- ```
-
- -----
- *The Mars Reconnaissansce Orbiter (MRO) archive, which corresponds to the B10_013341_1010_XN_79S172W we've been using, is 340 GB. If you will be working with MRO images, and you have the space, you can try downloading the MRO Spice data.*
-
-### Setting $ALESPICEROOT
-!!! warning ""
-
- When you are using a NaifSpice Driver, ALE looks under the `$ALESPICEROOT` directory for SPICE Kernels.
- You can echo it to see if it is set.
-
- ```sh
- echo $ALESPICEROOT
- ```
-
- To work with MRO images like the example image on this page, you might download the MRO NAIF SPICE Kernels to a data drive.
- If your directory structure looks like `/Volumes/data/spice-data/mro-m-spice-6-v1.0/mrosp_1000`, then you should set `$ALESPICEROOT` like:
-
- ```sh
- export ALESPICEROOT=/Volumes/data/spice-data
- ```
-
-### Setting the Path Value in a metakernel
-
-!!! warning ""
-
- When you use a NaifSpice Driver, the your $ALESPICEROOT must point to the relevant NAIF SPICE Data,
- and the metakernel within that data must be set.
-
- ```sh
- isd_generate -n -v B10_013341_1010_XN_79S172W.cub
- ```
-
- If the path value in your metakernel has not been set, you may get an error like this:
-
- ```sh
- File B10_013341_1010_XN_79S172W.cub: No Such Driver for Label
- ```
-
- Look up further in the verbose data, and if an unset metakernel is causing the problem, you will find something like:
-
- ```sh
- Trying
- Failed:
- ================================================================================
-
- Toolkit version: CSPICE_N0067
-
- SPICE(NOSUCHFILE) --
-
- The first file './data/lsk/naif0012.tls' specified by KERNELS_TO_LOAD in the file /Volumes/data/spice-data/mro-m-spice-6-v1.0/mrosp_1000/extras/mk/mro_2009_v14.tm could not be located.
- ```
-
- You will need to open that .tm file (`mro_2009_v14.tm`), and change the PATH_VALUES line to point to your data; the folder containing folders for lsk, pck, sclk, fk, ik, spk, ck, etc...
-
- ```
- PATH_VALUES = ( './data' )
- ```
-
- if your `$ALESPICEROOT` is `/Volumes/data/spice-data`, and you are working with an MRO image, you might change it to:
-
- ```
- PATH_VALUES = ( '/Volumes/data/spice-data/mro-m-spice-6-v1.0/mrosp_1000/data' )
- ```
-
- Now save the metakernel try again, and, if your SPICE Data is correctly configured, you should not see the same error:
-
- ```sh
- isd_generate -n -v B10_013341_1010_XN_79S172W.cub
- ```
## Arguments
diff --git a/docs/how-to-guides/image-processing/general-utility-with-fx.md b/docs/how-to-guides/image-processing/general-utility-with-fx.md
index 59b04c5..de31b62 100644
--- a/docs/how-to-guides/image-processing/general-utility-with-fx.md
+++ b/docs/how-to-guides/image-processing/general-utility-with-fx.md
@@ -157,7 +157,7 @@ based on the camera model information stored in the image labels:
- pha, phal, phac
- ina, inal, inac
- - ema, emal, emac
+ - ema, emal, emac
- lat
- lon
- radius
diff --git a/docs/how-to-guides/index.md b/docs/how-to-guides/index.md
index 9ef1490..a378c3c 100644
--- a/docs/how-to-guides/index.md
+++ b/docs/how-to-guides/index.md
@@ -1,6 +1,6 @@
# How-To Guides
-How-to guides are much like recipes in a recipe book. Write how-to docs to solve specific problems quickly, sometimes copy-pastable. Think of how-to guides as pre-emptive StackOverflow-like problems.
+How-to guides are much like recipes in a recipe book. Write how-to docs to solve specific problems quickly, sometimes copy-pastable. Think of how-to guides as preemptive StackOverflow-like problems.
## For Readers
diff --git a/mkdocs.yml b/mkdocs.yml
index 250c3b2..4aeeaff 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -49,7 +49,10 @@ nav:
- Exporting ISIS Data: getting-started/using-isis-first-steps/exporting-isis-data.md
- ISIS FAQ: getting-started/using-isis-first-steps/isis-faq.md
- Using Ale:
- - Generating an ISD: getting-started/using-ale/isd-generate.md
+ - Home: getting-started/using-ale/index.md
+ - 1. ALE SPICE Data Setup & Driver Types: getting-started/using-ale/ale-naif-spice-data-setup.md
+ - 2a. Command Line - Generating an ISD: getting-started/using-ale/isd-generate.md
+ - 2b. Python - ale.load & loads: getting-started/using-ale/ale-python-load-loads.md
- Archive:
- Demos and Workshops: getting-started/archive/isis-demos-and-workshops.md
- How-To Guides: