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

RCv0.3 #44

Merged
merged 44 commits into from
May 23, 2017
Merged

RCv0.3 #44

merged 44 commits into from
May 23, 2017

Conversation

carterbox
Copy link
Contributor

@carterbox carterbox commented May 5, 2017

Introduces polytope for approximate beam / polygon intersections #30
Implements __repr__ for saving and loading phantoms #40
Restructures phantoms as hierarchical structures. Removes the Feature class. #43.
Uses sphinxnb to automatically integrate demo notebooks into documentation.

carterbox and others added 30 commits November 13, 2016 02:55
…before computing intersection. Also adding distance function to Beam because it is different than Line.
…circ now required knowledge of what a Beam is which would make geometry no longer selfcontained.
…n the same Beam every time instead of making copies.
…as incorrect after they were moved from the geometry to the acquisition module.
…m` classes. Initial benchmarch shows it cuts sinogram time in half because the half_space is transformed instead if being resolved after each transformation.
Realized that there was no test already in existance to make sure that a
sinogram is computed consistently. This test is important to make sure that
changes to the underlying computational geometry does not alter the higher
level behavior.
The contains functions for Circle and Polygon were incomplete because
they only worked for points. This adds the ability to provide Circle,
Polygons, and Meshes as input for this function.

As a side effect, the edges property is added to the Polygon class.
Making hierarchical structures and organizing Features into groups
was impossible or difficult. By combining Feature and Phantom
into one class and allowing child parent tree-like relationships
the construction of complex phantoms should be easier.
Previously polygons were not self-containting. e.g. A.contains(A)
would be false, but this is inconsistent with Point behavior.
Default Phantom needs to have deep copyies of vertices otherwise
rotation moves vertices multiple times.
The save and load functions were broken by the tranisition to
hierarchical phantoms. This update moves the save and load
functions outside of the `Phantom` class definition and uses
the `repr` function to store a `Phantom` as a string.
Conflicts:
	xdesign/geometry.py
Rename multiple mtf functions to include authors initials.
Remove phase probability computation function.
beamintersect functions were defined twice: once in geometry
and once in acquistion. Removed redundant copy in geometry.

Also removed text references to Feature and fixed up WetCircles.
@carterbox
Copy link
Contributor Author

I forgot that this is going to fail because it requires a version of polytope that hasn't been released yet.

@carterbox carterbox added this to the 0.3.0 milestone May 7, 2017
@coveralls
Copy link

coveralls commented May 7, 2017

Coverage Status

Changes Unknown when pulling 9254d8f on RCv0.3 into ** on master**.

Moved module doc strings to top so they are picked out by sphinx.
Replaced Mock module with unittest.mock.
Add pages for formats and constants.
Added nbsphinx extension to allow demo notebooks to be directly
converted to the webpage.
@coveralls
Copy link

coveralls commented May 18, 2017

Coverage Status

Changes Unknown when pulling ff28b81 on RCv0.3 into ** on master**.

1 similar comment
@coveralls
Copy link

Coverage Status

Changes Unknown when pulling ff28b81 on RCv0.3 into ** on master**.

@coveralls
Copy link

coveralls commented May 23, 2017

Coverage Status

Changes Unknown when pulling 7597008 on RCv0.3 into ** on master**.

@carterbox carterbox closed this May 23, 2017
@carterbox carterbox reopened this May 23, 2017
@carterbox carterbox merged commit e6036dd into master May 23, 2017
@carterbox carterbox deleted the RCv0.3 branch May 23, 2017 21:38
@@ -67,8 +67,6 @@
__docformat__ = 'restructuredtext en'
__all__ = ['Entity',
'Point',
# 'Superellipse',

Choose a reason for hiding this comment

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

Hello, I wonder why you deleted the ellipse here. Sometimes I need to add an ellipse phantom.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Hi @huyuhuster, there is no algorithm implemented to compute the area of intersection between a rectangle and a superellipse. Therefore, these entities cannot be used in phantoms for data acquisition simulation. If you want to try to use these entities anyways, they are still there, just removed from __all__; you can import then directly.

Choose a reason for hiding this comment

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

Hi @carterbox , thanks for your reply. Do you plan to implement the algorithm? By the way, when I simulating the acquisition, it will be very slow if the size of the probe is small, such as 1/1000. Do you have any method to speed it? Often I need to cost several hours to simulate one phantom.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I have no such plans because I'm working on other things. PRs are welcome though. 😁

Choose a reason for hiding this comment

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

OK,do you have any suggestion of speed the acquisition simulation?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

No. I haven't looked at this codebase in more than a year.

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.

3 participants