-
Notifications
You must be signed in to change notification settings - Fork 169
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
2.5D Occlusion and Testing Update #3757
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are two notable changes in cam2map that I have outlined so people can discuss them if necessary. The rest of cam2map should be the same as what was previously in the cam2map/main.cpp
int patchSize = ui.GetInteger("PATCHSIZE"); | ||
int minPatchSize = 4; | ||
if (patchSize < minPatchSize) { | ||
patchSize = minPatchSize; | ||
} | ||
p.SetTiling(patchSize, patchSize); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Originally:
int minPatchSize = 4;
if (patchSize < minPatchSize) {
minPatchSize = patchSize;
}
p.SetTiling(patchSize, minPatchSize);
void cam2map(Cube *icube, Pvl &userMap, PvlGroup &userGrp, UserInterface &ui, Pvl *log) { | ||
ProcessRubberSheet p; | ||
cam2map(icube, userMap, userGrp, p, ui, log); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
New method so a mocked process object can be injected into the test.
if (p_occlusion){ | ||
if (abs(lat - p_incam->UniversalLatitude()) > 0.00001 || abs(lon - p_incam->UniversalLongitude()) > 0.00001) { | ||
return false; | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also the actual occlusion handling in the cam2mapReverse Xform
Allows cam2map to account for occlusion when projecting images. Also updates cam2map with the application changes and test, and the application change for map2cam.
Description
Allows cam2map to account for occluded portions of images when they are map projected. This option can only be used with the reverse patch algorithm and is turned off by default to keep any currently used pipelines for generating map projected products to remain the same.
This PR also updates cam2map and map2cam to be callable as functions. The tests for cam2map where also updated with additional fixtures as well as a few new mocks.
Related Issue
This is related to a larger occlusion project with no specific issues on the ISIS repo.
Motivation and Context
This allows ISIS to more accurately project highly oblique images, so long as the image is accurately coregistered to its associated DEM.
How Has This Been Tested?
This has been tested with the current ISIS tests along with a new set of gtests.
Screenshots (if appropriate):
Types of changes
Checklist:
Licensing
This project is mostly composed of free and unencumbered software released into the public domain, and we are unlikely to accept contributions that are not also released into the public domain. Somewhere near the top of each file should have these words: