Skip to content

Fixed slantToImagePartials not operating in slant plane#613

Merged
JDanielSmith merged 1 commit intongageoint:masterfrom
jessemapel:proj_slant_partials
Dec 14, 2022
Merged

Fixed slantToImagePartials not operating in slant plane#613
JDanielSmith merged 1 commit intongageoint:masterfrom
jessemapel:proj_slant_partials

Conversation

@jessemapel
Copy link
Copy Markdown
Contributor

The imageGridToECEF function is not always returning a point in the slant correctly so instead we use the SCP and imageToScene but pass the slant plane instead of the ground plane. Also changed the direction of the finite differences so that the slantRange and slantAzimuth vectors point in the + range/azimuth direction and the slant normal calculations aligns with figure 3.1 in the SICD IPDD.

Fixes #610

I did not find unit tests for the ProjectionModel class, but I ran the test script from 610 on all of the cropped NITFs and got the following results which align with what we would expect:

Checking cropped_sicd_040.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00018 0.000602153 
-0.000829595   0.999587 

Reasonable:
(2,2)
         1 0.000420986 
-0.00039256    1.00002 


Checking cropped_sicd_041.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 


Checking cropped_sicd_050.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 


Checking cropped_sicd_100.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 


Checking cropped_sicd_101.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 


Checking cropped_sicd_110.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 


Checking cropped_sicd_120.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 


Checking cropped_sicd_extra_des.nitf
Data grid Type RGZERO
Crazy:
(2,2)
   1.00019 0.00061128 
-0.00111699   0.999329 

Reasonable:
(2,2)
         1 0.000420989 
-0.000401269    1.00003 

If there are automated tests for this class somewhere, I'm happy to add a new test to cover this.

Loading
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.

Incorrect partial derivatives from ProjectionModel::slantToImagePartials

2 participants