Category Archives: Programming

Nornir listed on NITRC

Nornir is now registered with NeuroImaging Tools & Resources Collaboratory (NITRC).

Nornir’s takes large sets of overlapping images in 2D and produces registered (a.k.a. aligned) 2D mosaics and 3D volumes of any size and scale. Registered slices may be exported as a single large images or viewed/annoted with our Viking viewer.

Nornir has been used successfully on transmission electron microscopy, scanning electron microscopy images, and light microscopy images. Nornir supports interleaving different imaging methods into the same volume. Support for SerialEM, Objective Imaging, and Digital Micrograph (DM4) raw data is available. Adding formats is not complicated and the author will consider requests.

Nornir runs on fairly humble hardware for the task. A 32-core 64GB Xeon system built a ~60 TB 250um diameter 2.12nm/pixel volume from roughly 1400 slices. Nornir works incrementally, only updating data that has changed.

Installation is fairly simple and primarily uses Python’s PIP installer.

For further information:

Working with SQL Geometry with C#

After digging around the many spatial libraries available for working with SQL Spatial types offline in the Viking client I’ve settled on Microsoft.SqlServer.Types. The main advantage is the library supports the same functions I have available in SQL server. This is a big advantage in the UI when I can use STContains to do hit testing for arbitrarily complicated shapes. What I have not figured out is how to build a spatial index and easily render the CURVEDPOLYGON geometry.