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

Issue 87 conebeam #178

Merged
merged 190 commits into from
Mar 8, 2016
Merged

Issue 87 conebeam #178

merged 190 commits into from
Mar 8, 2016

Conversation

moosmann
Copy link
Member

The ASTRA wrapper functions and related geometries are implemented. Tests and builds are working. However, there are inconsistencies within the geometry module. On the one hand because cone beam geometries are now using the ASTRA convention regarding the initial orientation of source and detector. (This was a quick fix to get ASTRA running with the helical cone beam geometry). On the other because the geometry class functions for the detector rotation, the source position, the detector position, the detector to source vector, etc are not working properly and/or need to be modified for rotations about arbitrary axes.

TODO

  • ASTRA data wrapping
  • Thin wrapper for ASTRA Thin wrapers for ASTRA #152
  • Curved detectors
  • Scaling of projectors to get the adjoint right
  • Non-isotropic voxels
  • Rotation about an arbitrary axis in 3D
  • Convenience function to create geometries
  • Consistent geometries (related to Direction of rotation #205 Convention for axis labelling in 3D #208)
  • Better test coverage (eg the class detector does not have tests)
  • Smarter tests (eg ASTRA backend tests only check that code is running but not its consistency)
  • Adapt as_midp=False option in uniform_sampling once periodic discretizations are available
  • Vectorize surface_deriv
  • Use vector arguments to create geometries in ASTRA
  • Use of axis property to define the direction of rotation Direction of rotation #205

data : `DiscreteLp`
name : `str`
"""
path = pth.join(pth.join(pth.dirname(pth.abspath(__file__)), 'data'),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Saving to file is not a "simple" example. How about simply using vector.show()?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also, if saving to file, at least add those files to .gitignore.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is still the issue with the blocking when using an interactive backend which is slightly annoying when you create several figure. At the moment I'm also using these examples to check if the forward and back projections do work as expected which is more convenient when the images are saved. Once we have smarter test to check this we can remove the save statement. But for sure, I should have added these files to .gitignore.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then we need to fix the show issue, and if you need to do "temporary" things like this, save to some temporary folder outside of ODL. Then we dont get to many entries in gitignore.

kohr-h and others added 22 commits March 8, 2016 11:22
Adding these requires mostly a utility to create the real
counterpart of a complex space with corresponding real data type.
This is implemented in the real_space and complex_space utils
in odl.util.utility.

Further changes:
- Get data types from numpy in base_ntuples.py instead of manually
  entering them into the type maps
- Accept an FnWeightingBase as weight argument in the initializers
  of Fn and CudaFn. That makes it easy to create a new space with
  the same weighting.
- move fast_1d_tensor_mult to numerics.py in odl.util
- remove some obsolete TODO comments in test files
@kohr-h
Copy link
Member

kohr-h commented Mar 8, 2016

Okay, waiting for the tests, then I'll merge. I'm going to write up the follow-up issues.

kohr-h added a commit that referenced this pull request Mar 8, 2016
ENH: Add geometries for tomography.
@kohr-h kohr-h merged commit 1de7a92 into master Mar 8, 2016
@kohr-h kohr-h deleted the issue-87__conebeam branch March 8, 2016 11:29
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.

4 participants