Skip to content

Brief accounting of eht-imaging and pycbc libraries. #51

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

Merged
merged 1 commit into from
Jan 26, 2020

Conversation

rossbar
Copy link
Contributor

@rossbar rossbar commented Jan 26, 2020

I've added a few sentences about how packages from the scientific Python ecosystem were used in two examples: the direct image of the M87 supermassive blackhole (eht-imaging) and the discovery of gravitational waves (pycbc).

Per Stefan's suggestion, I focused mostly on the black hole imaging example and the eht-imaging package specifically. There are other repos from the EHT group that set up specific imaging pipelines to reproduce the final image (eht-imaging is included of course) but they are a little harder to introspect. I focused most of my attention on the Image class that is defined in ehtim/image.py as that seems to be pretty fundamental to the analysis. Of course, eht-imaging is a library, and I can't guarantee that everything that is defined in the library was used in the specific analysis that produced the black hole image.

I mostly focused on the uses of numpy, scipy, and matplotlib, though there are other dependencies (scikit-image, networkx, and astropy) that are included. A quick grepping showed that networkx was used for image comparisons, astropy is used in quite a few places, primarily for I/O and time/coordinate transformations, and canny filters and Hough transforms from scikit-image are used in methods of Image.

I tried to pack as much into as few sentences as I could so that you'd have an easy time cutting/re-wording down to what was important.

I also included the PyCBC example because I had taken a look at that previously. I'm happy to expand on it if you'd like, or feel free to ignore (N.B. I also modified references.bib for this section, so if you cut it out you can ignore the bib changes).

Let me know if you want me to take a closer look or develop one or both of the examples further.

Added a few sentences on how components of the scientific
python ecosystem are used by pycbc and eht-imaging for the
analysis of gravitational wave data and black hole imaging,
respectively.

Focused mostly on numpy, scipy, and matplotlib.
@jarrodmillman
Copy link
Contributor

@rossbar I made a PR on your branch. I like this better than the list of libraries approach. We will just make a figure or table or something with the list of packages. I also added networkx and astropy, so you should check that everything still makes sense. It would be great if you could do one more light revision of this whole section (i.e., including the text before and after these examples).

@rossbar
Copy link
Contributor Author

rossbar commented Jan 26, 2020

Can do, I will take a crack at it tomorrow morning.

@jarrodmillman
Copy link
Contributor

I am just going to merge this and add my commit. If you want to make more improvements in the morning, just make a new PR. Thanks!

@jarrodmillman jarrodmillman merged commit eb2350b into BIDS-numpy:master Jan 26, 2020
@rgommers
Copy link
Collaborator

@rossbar there's already a more extensive dependency analysis done by Shaloo, including a graphviz visualization of the dependency graph which we iterated on a bit to make NumPy's role as clear as possible: numpy/numpy.org#23.

@rossbar
Copy link
Contributor Author

rossbar commented Jan 27, 2020

@rgommers Thanks for bringing that up, I was aware of the graphic - in fact, I included it in the numpy presentation that I'm to give on Thursday. I did a bit of digging around in eht-imaging and pycbc to see specifically how the various packages were used. @shaloo 's graphic is great though, so feel free to replace the text I added!

@rgommers
Copy link
Collaborator

Okay great! From your "introspection" comment I took away you had redone the exercise.

The current text is pretty good. I am wondering whether or not we're overdoing it with two quite similar use cases, but if we don't need the space to make other points then perhaps that's fine.

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