Skip to content
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

ckwriter kernel producing bad output for some images #1776

Closed
ascbot opened this issue Feb 13, 2019 · 9 comments
Closed

ckwriter kernel producing bad output for some images #1776

ascbot opened this issue Feb 13, 2019 · 9 comments
Labels
bug Something isn't working

Comments

@ascbot
Copy link
Contributor

ascbot commented Feb 13, 2019


Author Name: Lynn Weller (Lynn Weller)

Original Date: 2013-08-02
Original Assignee: Kris Becker


A kernel created via ckwriter for over 1300 Themis images results in some images (about a dozen or so) having no valid spice after pointing to the kernel during spiceinit.
The program spiceinit appears to run fine, but the resulting data have no lat/lon information and camstats reports NULL for all of its output. I have determined if I build the same kernel (meaning same input images) by using an older version of ckwriter I do no not encounter this problem. Kris Becker has determined a change he made to ckwriter in the July 16, 2013 version of ISIS is the root of the problem and it has something to do with dynamic frame kernels (??). I don't completely understand, I just know some (not all) of my Themis images are unusable when I apply a kernel created with a version of production from July 16 to present, but are ok if I used a ckwriter that is older than July 16.

There are files that demonstrate the issue under /work/users/lweller/Isis3Tests/CkWriter/VersionProblem/. Image I05055002RDR has erroneous results with a newly created kernel (noachis_dayir_ck_isis3production2013-07-23_ck.bc), but not an older version (noachis_dayir_ck_isis3production2013-06-25.bc). Image I17923007RDR works ok when either of these kernels are used. See Proc.scr for the commands used in creating the various files under this directory. There kernels where created in another directory with over 1300 images as input. Please let me know if there are any questions.

I can work around the immediate problem by using an older version of ckwriter to build preliminary mosaics which are to be released this August as requested by the carto panel. If the fix to this bug has to wait for some time, the priority my need to be switched to Block since the themis project is dependent on kernels to build delivered products and be delivered themselves.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Tammy Becker (Tammy Becker)
Original Date: 2013-08-05T18:46:25Z


ckwriter output is possibly incorrect for Apollo Metric as well. spkwriter is for sure incorrect for Apollo Metric. If ckwriter proves to be incorrect also then this will be considered a 'block' for the FY13 Laser Apollo Metric project.

Work Directory:
/work/projects/ApolloMetric/METRIC/Calibrated/AS15/FY13/Mask/REV71_UpDated/KensFiles/bestspiced/UpdatedL2_500m_wKens

@ascbot ascbot added this to the 3.4.6 (2014-04-04 Apr) milestone Feb 13, 2019
@ascbot ascbot added the bug Something isn't working label Feb 13, 2019
@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Tammy Becker (Tammy Becker)
Original Date: 2013-08-06T17:33:37Z


For Apollo Metric I have tested 'ckwriter' under /usgs/pkgs/isis3production2013-07-23 creating a ck kernel on an image with original spice. when re-spiceinit-ing with the ck kernel the lat/lon values are exact (some pixels differ 10-13 places behind the decimal). This seems to confirm that the problem for Apollo Metric resides with spkwriter, not ckwriter.

Thank you.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Kris Becker (Kris Becker)
Original Date: 2013-08-06T18:13:55Z


I have briefly looked into this problem.

It turns out for the THEMIS case, the images with problems use different CK kernels than the ones that work. This is evident in the labels, specifically the TImeDependentFrames keyword that tracks dynamic frames in ISIS. When I wrote this I assumed that the endpoints of the CK kernel are in this keyword. Turns out they are not as shown in these keywords:

I05055002RDR_band9_jiginput.cub (Broken)
TimeDependentFrames = (-53000, 1)

I17923007RDR_band9_jiginput.cub (Works)
TimeDependentFrames = (-53000, 16, 1)

Note the left frame of the CK kernel is -53000 (M01_SPACECRAFT) and the right frame is 16 (MARSIAU). Since the MARSIAU frame does not exists in I05055002RDR (using m01_sc_map5_rec_nadir.bc CK kernel) but does in I17923007RDR (using m01_sc_ext5.bc CK), the I05055002RDR CK quaternions are left-rotated into the -53000 frame state which is causing the error (t needs to stop at 16).

This problem is located in $ISISROOT/src/base apps/ckwriter/SpiceSegment.cpp in lines 367-389. The fix should be simple in that it only needs to have additional checks for either end of the CK frame chain. However, the requirement that at last one of the end frames must exist or an error must be thrown as it cannot be determined how far to take the translations on either end. This error condition will also need to added.

Furthermore, it may be sufficient to only look at the first and last values of the TimeDependentFrames keywords and simply apply transformations to the left (first) and right (last) frame CK endpoints. I will look into this as a possible fix as well which would simplify things. It would also impose a requirement to have at least two frame numbers in all TImeDependentFrames label keywords.

ApolloMetric is not affected by this issue as it has the appropriate requirements for ckwriter to do the right thing. The problem there is spkwriter which also has a ticket.

I estimate the fix to take 8 hours or less, but I should really do a through evaluation of all camera models and images to determine if there are other unique cases that need specific considerations outside this fix. This would take considerably longer without assistance.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Lynn Weller (Lynn Weller)
Original Date: 2013-08-14T23:24:08Z


Another potential fallback is to use the current public version (isis3.4.3) of ckwriter for creating kernels. This would only be used in the event that that production version of ckwriter isn't updated to work on Themis images by the time the Themis project needs to create kernels and no older version of production is availabe (predating the July 17 changes). I have yet to test a kernel created under the public ckwriter, but I expect it to work. If it doesn't, I'll report back here.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Kris Becker (Kris Becker)
Original Date: 2013-12-17T21:49:46Z


Problem has been corrected. It is ready for testing. Use the directory /work/projects/isis/latest/m01737_m01739 for testing.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Lynn Weller (Lynn Weller)
Original Date: 2013-12-24T18:13:50Z


I have created a new kernel for my test data using the upated ckwriter and reran Noachis DayIR through a script that ingests, intializes with spice using the new kernel, projects, etc. When this tile was first run through this process back in July, 25 of the images failed campt due to a problem with the kernel built at the time. All of these images were successful using the new kernel and as were the previously successful images. It appears the problem has been solved for Themis IR data.

This post is being lef unresolved since there are still some ongoing issues with the apollo data and ckwriter.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Lynn Weller (Lynn Weller)
Original Date: 2014-01-22T22:39:53Z


This was tested again via the latest version of /work/projects/isis/latest/m01737_m01739/isis. Still looks good from a Themis IR perspective - the ckwriter initialized images match the jigsaw updated images that were input to ckwriter.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Kris Becker (Kris Becker)
Original Date: 2014-03-29T00:19:46Z


Modifications were made to fix the problem related to inconsistent THEMIS kernels.

And additional parameter called OVERLAP was added that allows the user to specify if images of the same instrument that overlap time is to be treated as an error or a warning.

@ascbot
Copy link
Contributor Author

ascbot commented Feb 13, 2019


Original Redmine Comment
Author Name: Lynn Weller (Lynn Weller)
Original Date: 2014-03-29T00:21:47Z


Checked it again via /work/projects/isis/latest/m01737_m01739 and it's still running properly. See process under /work/users/lweller/Isis3Tests/CkWriter/m01737_m01739/proc.txt for details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant