Scientific Python at Microscopy & MicroAnalysis 2019
Today, I presented a talk titled “Scientific Python: A Mature Computational Ecosystem for Microscopy” [PDF] at the Microscopy and MicroAnalysis conference in Portland. A few members of the audience familiar with scientific Python told me they had learned something, so I’ll highlight the few topics that I think may have qualified. SciPy 1.0 paper The first official release of SciPy was in 2001, and a mere 16 years later we reached 1.
Linking to emails in org-mode (using neomutt)
Update 2018-11-2: Change the URL scheme to message://. See “Other Systems” below. org-mode is, to me, is one of the most valuable parts of the emacs ecosystem. I use it to take notes, plan projects, manage tasks, and write & publish documents. Nowadays, a lot of work arrives via email, and so it is helpful to be able to refer to messages directly from my notes or lists of tasks.
WebSockets in Python (and some Redux)
As part of our work on Cesium and its web frontend, we’ve developed an easy mechanism for Python web developers to push messages from their Python backends to the browser. There are plenty of potential use cases, but consider, e.g., that you want to verify a credit card number submitted by your user. Traditionally, you’d submit the number, and then poll the backend repeatedly from the browser. Not very elegant :/
Compile TensorFlow from source with gcc6.1
Due to two bugs in gcc 6.1 affecting the re2 library (one of which has been fixed in 6.2)), TensorFlow cannot be compiled from source one some systems (including my Debian Testing install). To work around the issue, modify tensorflow/workspace.bzl and change the re2 description to: native.git_repository( name = "com_googlesource_code_re2", remote = "https://github.com/stefanv/re2.git", commit = "86503cb89d82b723ae0bce35e1e09524910cd319", ) The re2 library is now downloaded from my fork, which applies a one line patch.
Python & Matplotlib on OSX
One day, we will hopefully have a grand unified build and package management system for Python where everything is free & open and Just Works (TM). Until then, you have two options: brew Python + pip brew install python3 pyvenv -v ~/envs/py3 source ~/envs/py3/bin/activate pip install matplotlib Pros/cons: Pip is the standard Python package management tool, and uses the official Python Package Index (PyPi) repository. Wheels on PyPi are built by authors themselves from open recipes.
The talks for the 12th (fantastic) Python in Science conference just concluded, and I am happy to announce the conference proceedings. This may come as a surprize to some, since in the past we have been unable to publish the proceedings in a timely manner. So, what changed? Review process For 2013 we followed a very light-weight review process, via comments on GitHub pull-requests. This change has an important consequence: in contrast to the traditional review process, where reviewers critically pull apart papers, the process now changes into a constructive conversation–the reviewer becomes an ally to the author, helping them to get their paper signed off on.
Replicable super-resolution paper
While I loved the topic of my PhD, I had to take a break after staring at that problem for several years. Thereafter, I was side-tracked by several other projects, and never got around to publishing a paper on my dissertation. Here, then, is a summary of the simple but effective super-resolution algorithm described therein: http://arxiv.org/abs/1210.3404 I also submitted this work to NIPS: the reviewers liked the paper, but they were not convinced of its novelty.
We’re happy to announce the 7th version of scikits-image! Scikits-image is an image processing toolbox for SciPy that includes algorithms for segmentation, geometric transformations, color space manipulation, analysis, filtering, morphology, feature detection, and more. For more information, examples, and documentation, please visit our website. New Features It’s been only 3 months since scikits-image 0.6 was released, but in that short time, we’ve managed to add plenty of new features and enhancements, including
Emacs package management
I recently tried to install MuMaMo as one of the dependencies for Takafumi Arakaki’s Emacs-based IPython notebook. The instructions on the MuMaMo webpage were as clear as mud and aimed primarily at Windows users. Enters apt-get for Emacs! My Emacs setup is shared across multiple machines: a synchronized elisp folder, containing *.el files, along with my .emacs configuration. el-get allows you to share your package installation folder in a similar fashion.