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
200 stars 169 forks source link

Unable to read CaSSIS file into ISIS #5637

Closed whfarrand05 closed 1 month ago

whfarrand05 commented 1 month ago

I did an update so I think I'm using the latest version of ISIS. I downloaded a CaSSIS image through the Mars Orbital Data Explorer site. I also did an update to get the TGO supporting files (that took days to download). Then in trying to run the tgocassis2isis routine, I got the following:

tgocassis2isis from=cas_cal_sc_20210410T194630-20210410T194648-15083-RED-836197092-sti.xml to=cas_cal_sc_20210410T194630-20210410T194648-15083-RED-836197092-sti.qub USER ERROR Given file [cas_cal_sc_20210410T194630-20210410T194648-15083-RED-836197092-sti.xml] does not appear to be a valid TGO CaSSIS label. ERROR Failed to translate output value for [CoreType]. PROGRAMMER ERROR Unable to find a translation value for [CoreType, UnsignedLSB2] in file [/Users/wfarrand/anaconda3/envs/isis/appdata/translations/TgoCassisRdr.trn].

So, any ideas?

amystamile-usgs commented 1 month ago

@whfarrand05 could you provide us with the link to these specific files so we can try to replicate this error?

whfarrand05 commented 1 month ago

I don't think I can link anything from my computer, but I downloaded the files from the Mars Orbital Data Explorer and am attaching a screenshot of the page that I got the files from

Download_page
amystamile-usgs commented 1 month ago

I was able to run tgocassis2isis with the data above with no issues. What version of isis are you running? You can check by running conda list isis.

whfarrand05 commented 1 month ago

I am apparently running ISIS version 7.2.0. Is that the latest version? I had run the "conda update -c usgs-astrogeology isis" command before getting the TGO CaSSIS data.

whfarrand05 commented 1 month ago

I see now 8.2.0 is the latest... not sure why that update command didn't work...

amystamile-usgs commented 1 month ago

The latest version is 8.3. There was a fix in version 8.1 that fixes this error for cas_cal_sc images so that is why you are running into this error with version with 7.2. Sometimes the conda update does not work if there are dependency conflicts. My recommendation is to create a new conda environment with the following commands:

conda create -n isis-8.3 python=3.10 conda activate isis-8.3 conda config --env --add channels conda-forge conda config --env --add channels usgs-astrogeology conda install -c usgs-astrogeology isis=8.3.0

whfarrand05 commented 1 month ago

Do those commands create a whole new ISIS installation? I just don't want to have to download mission data files again.

amystamile-usgs commented 1 month ago

If you have the mission data downloaded on your computer, you do not need to redownload them. You just simply need to link your $ISISDATA variable to the local directory where it's downloaded.

For example `export ISISDATA="/path/to/isis_data"

You can also try conda install -c usgs-astrogeology isis=8.3.0 in your existing isis environment.

I personally have been running into issues with trying to get 8.3.0 to install. Might be worth trying 8.1.0 or 8.2.0 instead.

whfarrand05 commented 1 month ago

Thanks for all the help, but I'm still having issues. I did the new installation, but with 8.2.0. To set the environments, I did:

conda env config vars set ISISROOT=$CONDA_PREFIX ISISDATA=/Users/wfarrand/anaconda3/envs/isis/data

However after activating the environment: conda activate isis-8.2, none of the ISIS commands work. Of course I tried tgocassis2isis but got a "command not found" error message. Same with just trying to run qview.

I looked at the ISIS installation directions and it seemed like I followed the necessary steps. Any ideas?

amystamile-usgs commented 1 month ago

Sorry that you are still running into issues. Could you provide me your list of installed conda packages? You can do this by running conda list.

whfarrand05 commented 1 month ago

Thanks... here's what I got from that command:

(isis-8.2) wfarrand@Bills-MacBook-Pro-2 data % conda list

packages in environment at /Users/wfarrand/anaconda3/envs/isis-8.2:

#

Name Version Build Channel

bzip2 1.0.8 hfdf4475_7 conda-forge ca-certificates 2024.8.30 h8857fd0_0 conda-forge libffi 3.4.2 h0d85af4_5 conda-forge libsqlite 3.46.1 h4b8f8c9_0 conda-forge libzlib 1.3.1 hd23fc13_2 conda-forge ncurses 6.5 hf036a51_1 conda-forge openssl 3.3.2 hd23fc13_0 conda-forge pip 24.2 pyh8b19718_1 conda-forge python 3.10.15 hd8744da_2_cpython conda-forge readline 8.2 h9e318b2_1 conda-forge setuptools 75.1.0 pyhd8ed1ab_0 conda-forge tk 8.6.13 h1abcd95_1 conda-forge tzdata 2024b hc8b5060_0 conda-forge wheel 0.44.0 pyhd8ed1ab_0 conda-forge xz 5.2.6 h775f41a_0 conda-forge

amystamile-usgs commented 1 month ago

Okay looks like isis has not yet been installed.

Make sure to run: conda config --env --add channels conda-forge conda config --env --add channels usgs-astrogeology conda install -c usgs-astrogeology isis=8.2.0

whfarrand05 commented 1 month ago

Maybe I ignored a not fully accomplished installation... after running conda install -c usgs-astrogeology isis=8.2.0 again I got (down a bit): Solving environment: / Found conflicts! Looking for incompatible packages. This can take several minutes. Press CTRL-C to abort. failed

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

Your installed version is: 10.16

amystamile-usgs commented 1 month ago

Are you on a Mac with an ARM-based M1/M2 chip? If so, you may need to tweak your conda config if you haven't already.

#MacOS ARM64 Only - Setup the new environment as an x86_64 environment
export CONDA_SUBDIR=osx-64

# Remove current isis-8.2 environment and recreate environment under x86_64
conda env remove -n isis-8.2
conda create -n isis-8.2 python=3.10

conda activate isis-8.2

#MacOS ARM64 Only - Force installation of x86_64 packages instead of ARM64
conda config --env --set subdir osx-64

conda config --env --add channels conda-forge
conda config --env --add channels usgs-astrogeology

conda install -c usgs-astrogeology isis=8.2.0
whfarrand05 commented 1 month ago

I have a Mac with the M1 Max chip.

I followed your suggested steps (as pasted below), but still not working. Should I delete the previous ISIS installation (maybe copy the data directory to an external hard drive)?

Steps I followed: (base) wfarrand@Bills-MacBook-Pro-2 ~ % conda activate isis-8.2 (isis-8.2) wfarrand@Bills-MacBook-Pro-2 ~ % conda config --env --set subdir osx-64 (isis-8.2) wfarrand@Bills-MacBook-Pro-2 ~ % conda config --env --add channels conda-forge (isis-8.2) wfarrand@Bills-MacBook-Pro-2 ~ % conda config --env --add channels usgs-astrogeology (isis-8.2) wfarrand@Bills-MacBook-Pro-2 ~ % conda config --show channels channels:

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versionsThe following specifications were found to be incompatible with your system:

Your installed version is: 10.16

(isis-8.2) wfarrand@Bills-MacBook-Pro-2 ~ % qview zsh: command not found: qview

amystamile-usgs commented 1 month ago

Did you run this section first?

export CONDA_SUBDIR=osx-64
conda env remove -n isis-8.2
conda create -n isis-8.2 python=3.10

May be worth also trying versions 8.1 and 8.3 to see if you are running into the same issue. The old isis environment should not affect anything.

whfarrand05 commented 1 month ago

I had run that section first (and it hadn't worked), but, go figure, I tried all those steps with isis-8.3 instead of 8.2 and it worked and I was able to run the tgocassis2isis as well... Yay! Thanks for the help!

amystamile-usgs commented 1 month ago

Oh good! I am glad it is now working for you. The environment stuff can be tricky. I will close out this ticket but feel free to reopen if you run into any additional issues.

whfarrand05 commented 1 month ago

I might have a follow-on issue. I tried running "spiceinit" on one of the imported CaSSIS images. I got many blocks which I could attach, but at the very end got an:

ERROR Unable to initialize camera model.

error message. Maybe this is an issue specific to the CaSSIS data?

amystamile-usgs commented 1 month ago

What is the error message under the Kernels Group? That will be your best indicator of the problem.

whfarrand05 commented 1 month ago

Here's the last kernel block and a couple of lines after it:

Group = Kernels NaifFrameCode = -143400 LeapSecond = $base/kernels/lsk/naif0012.tls TargetAttitudeShape = ($tgo/kernels/pck/pck00010.tpc, $tgo/kernels/pck/de-403-masses.tpc) TargetPosition = ($tgo/kernels/tspk/de432s.bsp, $tgo/kernels/tspk/mar097.bsp) InstrumentPointing = ($tgo/kernels/ck/em16_tgo_sc_ssm_20210101_20220- 101_s20220214_v02.bc, $tgo/kernels/ck/em16_tgo_cassis_tel_20160407_20- 251231_s20241002_v01.bc, $tgo/kernels/fk/em16_tgo_v27.tf, $tgo/kernels/fk/em16_tgo_ops_v02.tf, $tgo/kernels/fk/rssd0002.tf) Instrument = $tgo/kernels/ik/em16_tgo_cassis_v09.ti SpacecraftClock = $tgo/kernels/sclk/em16_tgo_step_20241002.tsc InstrumentPosition = Null InstrumentAddendum = $tgo/kernels/iak/tgoCassisAddendum007.ti ShapeModel = $base/dems/molaMarsPlanetaryRadius0005.cub InstrumentPositionQuality = Unknown InstrumentPointingQuality = Reconstructed CameraVersion = 1 Error = "No instrument position available" End_Group This function(PvlObject::addLogGroup) will be depreciated in ISIS3 v9.0 in favor of Application::appendLogGroup ERROR Unable to initialize camera model.

amystamile-usgs commented 1 month ago

Looks like it's unable to find the instrument position. There may be an issue with your downloaded spk kernels or it simply cannot find a kernel with the associated start/end time.

whfarrand05 commented 1 month ago

OK. Thanks. I think there are several overlapping scenes so maybe I can grab them from earlier in the mission in the hope that the kernels would be in there.