-
Notifications
You must be signed in to change notification settings - Fork 2
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
Artifacts with 3 microlenses #90
Comments
Strangely, the 3x3 microlens case also does not have all rays passing through a single voxel. It fails the following test while the other microlens options pass: |
Locally the test |
In the github pytest, the voxel index
|
By exploting the SU2 property of the jones matrix, I was able to improve the retardance calculation speed by about 100x. When comparing these two retardance calculation methods, the test comparison tolarance level needed to be as high as 5e-3. This could be looked into further. I adjusted the assert statement for the test that counted the indices raytraced through volume because the output was inconsistent. A similar inconsistency was mentioned here #90 (comment)
Description
When simulating the images of a birefringent voxel centered within the volume, the retardance should only be nonzero behind the central microlens. Moreover, since the optic axis of the birefringent voxel is oriented in line with the microscope axis, the retardance image should have circular symmetry.
Symmetry
There is not circular symmetry when using 3x3 microlenses. There are a few hot spots in the bottom left quadrant. Interestingly, there is circular symmetry for 1x1 and 5x5 microlenses.
Containment within central microlens
Through trial and error, I observed that any
n_medium < 1.62
causes there to be nonzero retardance outside of the central microlens. The angles for which each ray is calculated for each pixel behind the detector is calculated here:https://github.com/PolarizedLightFieldMicroscopy/GeoBirT/blob/0d153919a07b5a28a94039c23686a8bffd0ae513/VolumeRaytraceLFM/abstract_classes.py#L369-L421
Screenshots
Files
To Reproduce
With either numpy or pytorch backend, run the following simulation code:
with the
optical_config_voxel.json
containing the following parameters:Tasks
cam_pixel_tilt
variable to assure that the angles are not too large.The text was updated successfully, but these errors were encountered: