Skip to main content

StitchIt Python Tools

PyPI Python Version License GNU GPL v3.0

This package contains Python code for managing BakingTray serial-section 2p data. The main functions of interest are compressRawData.py and transferToServer.py, which are aimed at end users of the microscope. The recipe.py and tools.py modules support these and are aimed at developers.

Install instructions

If you wish to use the data management tools and do not care about the brainreg helper tool:

$ pip install btpytools

You will then be able to run the following commands at the system command prompt:

  • transferToServer
  • compressRawData
  • summariseAcqs

If you also want the brainreg helper command brainregbt (see below) then install with

$ pip install btpytools[register]

This will also install brainreg and all of its dependencies, which are many.

To build with "register" option on Apple Silicon

For $ pip install btpytools[register] to succeed on Apple Silicon you will first have to:

pip install cython
brew install hdf5 c-blosc
export HDF5_DIR=/opt/homebrew/opt/hdf5 
export BLOSC_DIR=/opt/homebrew/opt/c-blosc

Usage instructions

Compressing the raw data directory

cd to the sample directory at the command line and run compressRawData. This works much faster if you to have installed lbzip2, which runs parallel bzip. Likely only works on Linux. The command also confirms there is enough disk space available to complete successfully.

$ cd /mnt/data/BakingTrayStacks/CC_125_1__125_2/ 
$ compressRawData  

Sending data to a remote server

The server should be mounted locally to a mount point writable by the user. The tranfer is via rsync. The command just ensures no uncompressed raw data or uncropped stacks are copied. It brute-force retries if there is a failure for some reason.

First cd to the directory which contains your samples. Not the sample directory. e.g.

$ cd /mnt/data/BakingTrayStacks

You can now run in either of the following two ways (either one acquisition or multiple acquisitions)

$ transferToServer RC_RabiesBrains01 /mnt/server/user/data/histology
$ transferToServer RC_RabiesBrains01 RC_TwoProbeTracks_test RC_MyOldSample /mnt/server/user/data/histology

NOTE: If RC_RabiesBrains01 contains a compressed raw data archive, the following will not transfer it:

$ transferToServer RC_RabiesBrains01/sample01 RC_RabiesBrains01/sample02 /mnt/server/user/data/histology

If the transfer completed successfully, the command creates an empty filed called TRANSFER_SUCCEEDED in the local directory (or directories). This file is not copied to the server.

Wrapper for brainreg with BakingTray data

With this package installed and also brainreg installed you can run registrations with super easily at the command line using the downsampled stacks generated by StitchIt.

  • cd to a BakingTray sample directory
  • Run brainregbt

Sample session

$ brainregbt
Select downsampled stack voxel size for registration.
(Enter a number and press return)
1. 25 micron
2. 50 micron

[1] ?
Choose channel for registration.
1. red channel
2. green channel

[1] ?


Registering data for sample SM_1099839 with 50 micron downsampled red stack.
Press return to start

Running brainregbt -D will run the registration with the above defaults. Available resolutions depend on which downsampled stacks were generated by StitchIt.

Developer notes

Create and activate a fresh conda environment and install with:

$ pip install btpytools[dev]

You can now cd to the project root directory and do the following.

  • Static code analysis: mypy btpytools
  • Run pre-commit operations with the command pre-commit
  • Run black to re-format files using black ./

Metadata

Release files for btpytools 0.1.37

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for btpytools 0.1.37
File Size Uploaded Provenance Actions
btpytools-0.1.37.tar.gz 161.8 kB Without provenance Details for btpytools-0.1.37.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for btpytools 0.1.37
File Interpreter ABI Platform Actions
btpytools-0.1.37-py3-none-any.whl Python 3 none any Details for btpytools-0.1.37-py3-none-any.whl

Total release size: 197.0 kB

Release files / btpytools-0.1.37.tar.gz

Download URL btpytools-0.1.37.tar.gz
Size 161.8 kB
Tags Source
SHA-256 checksum
How to use checksums
d2e958da48f04ffe4d406e074b5778ba078f503887aad566486cd9dbe9421c5a
BLAKE2b-256 checksum
How to use checksums
3545b9809661adf33751d7a050e27b692339ac65045b672234738357931add15
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Release files / btpytools-0.1.37-py3-none-any.whl

Download URL btpytools-0.1.37-py3-none-any.whl
Size 35.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d66e00de0fa23baf1eaab7d22d9fb3dcb3112e7f4d2d0fb54496144c02854dc9
BLAKE2b-256 checksum
How to use checksums
3d47d2dc04bd014a1f96a4e0e660efd08f480964af87d15a692ccda7178d8c31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.12.3

Security for btpytools 0.1.37

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page