DOI-USGS / ISIS3

Integrated Software for Imagers and Spectrometers v3. ISIS3 is a digital image processing software package to manipulate imagery collected by current and past NASA and International planetary missions.
https://isis.astrogeology.usgs.gov
Other
198 stars 168 forks source link

need to use ISIS_READ & ISIS_WRITE in idl libraries #5172

Open dominguelorin opened 1 year ago

dominguelorin commented 1 year ago

For years I've used isis_read and isis_write in my idl code for image analyses. I am now trying to install this capability on my new MAC Studio desktop.

I have isis installed using anaconda, and it works. I have idl installed and it works. It appears the isisdlm library is missing, not configured correctly, or is no longer supported. How do I configure my system to use isis_read and isis_write in idl?

Note: I am not a computer science major. The new instructions for installation are confusing and opaque for those of us who don't use Linux on a daily basis.

jlaura commented 1 year ago

@dominguelorin Thanks for the post. If you have suggestions for improvements to the README concerning installation instructions, please open a discussion and folks can start to discuss the changes! We receive and merge updates to the README from our users at a pretty regular cadence these days.

For IDL - support for isis_read and isis_write were dropped somewhere around version 3.4.4 (circa 2018 or 2019?). Depending on what your use case is, you might consider using a tool like GDAL (specificallygdal_translate ) to convert the ISIS cube into a format that has an IDL reader (perhaps GeoTiff?).

thareUSGS commented 1 year ago

Here is an old post speaking to loading non-tiled ISIS cubes into IDL (function provided). This would require one to run the ISIS cube out to a Band Sequential ISIS cube. https://www.ipgp.fr/~lucas/isis2envi.html

But if you are going to create a BSQ ISIS Cube for IDL, you might as well go to a TIFF...?

background:

ISIS cubes are by default stored using tiles (not a raw stream). To force an ISIS cube to have a simple "raw" structure, at any ISIS application run. one can add this to the output file "+BandSequential"). For example:

anyISISprog from=input_tiled.cub to=out_non-tiled_pds4.cub+BandSequential

more specifically, the generic cubeatt can be run as a last step also:

cubeatt from=Ceres.DEM8ppd.cub to=Ceres_DEM8ppd_PDS4.cub+BandSequential

Once you have a non-tiled ISIS cube, this function should work. Note the IDL script linked above, might only support 32bit floats.


For a GDAL conversion, you can try:

gdal_translate -of ISIS3 -co DATA_LOCATION=GEOTIFF in_my.cub out_my.tif

--this will create a TIFF/GeoTIFF while still trying to maintain an ISIS3 detached label. That label can still be used in ISIS (e.g. QView) even thought the pixels are from the TIFF. Or go straight to a TIFF (no ISIS label):

gdal_translate -of GTIFF in_my.cub out_my.tif

or ENVI file:

gdal_translate -of ENVI in_my.cub out_my.raw

-- this will create an ENVI header next to the raw pixel file.

Now that TIFF can be used in IDL:

img = READ_TIFF('out_my.tif')

or:

img = READ_TIFF('out_my.tif', CHANNELS=[0,2,4,6,8])

from: https://www.nv5geospatialsoftware.com/docs/read_tiff.html

And to get back to a ISIS3+ cube:

gdal_translate -of ISIS3 input.tif output.cub

github-actions[bot] commented 1 year ago

Thank you for your contribution!

Unfortunately, this issue hasn't received much attention lately, so it is labeled as 'stale.'

If no additional action is taken, this issue will be automatically closed in 180 days.

github-actions[bot] commented 1 month ago

Thank you for your contribution!

Unfortunately, this issue hasn't received much attention lately, so it is labeled as 'stale.'

If no additional action is taken, this issue will be automatically closed in 180 days.

If you want to participate in our support prioritization meetings or be notified when support sprints are happening, you can sign up the support sprint notification emails here.

Read more about our support processs here