@@ -10,9 +10,28 @@ Temporal registration of 2D/3D movies on one channel based on [itk-elastix](http
...
@@ -10,9 +10,28 @@ Temporal registration of 2D/3D movies on one channel based on [itk-elastix](http
Adaptated from [multireg](https://gitlab.pasteur.fr/gletort/multireg) for temporal movies.
Adaptated from [multireg](https://gitlab.pasteur.fr/gletort/multireg) for temporal movies.
For a tutorial on using `elastix` for registration, see [this tutorial](https://m-albert.github.io/elastix_tutorial/intro.html).
For a tutorial on using `elastix` for registration, see [this tutorial](https://m-albert.github.io/elastix_tutorial/intro.html).
*[Installation](#installation)
*[System requirement](#system-requirement)
*[Installation steps](#installation-steps)
*[Usage](#usage)
*[Demo](#demotest)
*[License](#license)
----------------------------------
----------------------------------
## Installation
# Installation
## System requirement
`napari-3dtimereg` is a Napari plugin therefore can be installed on all operating systems.
It requires a python environement compatible with `Napari` and `elastix` version.
### Tested system
It has been tested on python 3.9, napari XX and elastix XX.
## Installation steps
In a python environment that contains Napari:
* You can install the plugin directly in `Napari` by going to `Plugins>Install/Uninstall plugins` and search for `napari-3dtimereg`
* You can install the plugin directly in `Napari` by going to `Plugins>Install/Uninstall plugins` and search for `napari-3dtimereg`
...
@@ -21,7 +40,10 @@ For a tutorial on using `elastix` for registration, see [this tutorial](https://
...
@@ -21,7 +40,10 @@ For a tutorial on using `elastix` for registration, see [this tutorial](https://
pip install napari-3dtimereg
pip install napari-3dtimereg
## Usage
If you don't have Napari installed yet, see [here](https://napari.org/stable/tutorials/fundamentals/quick_start.html#napari-quick-start) for installation instructions.
# Usage
You can launch `3dtimereg` in napari by going to `Plugins>Do 3D movie registration (napari-3dtimereg)`.
You can launch `3dtimereg` in napari by going to `Plugins>Do 3D movie registration (napari-3dtimereg)`.
...
@@ -58,9 +80,53 @@ When all frames have been processed, each color chanel and each frame have been
...
@@ -58,9 +80,53 @@ When all frames have been processed, each color chanel and each frame have been
If you click on `Concatenate aligned images` on the plugin interface, the plugin will create a single composite movie from the aligned images, save it and delete the separated images in the `aligned` folder.
If you click on `Concatenate aligned images` on the plugin interface, the plugin will create a single composite movie from the aligned images, save it and delete the separated images in the `aligned` folder.
## License
Distributed under the terms of the [BSD-3] license, "napari-3dtimereg" is free and open source software
# Demo/Test
To test this plugin, you can use our [demo dataset](https://zenodo.org/records/15028169) proposed in a Zenodo repository or directly on your own dataset.
If you use the data from the Zenodo repository, the file to use to test this plugin is the movie `Registration_WTn1_Crop_V1.tif` which has been cropped from our dataset to reduce the size.
## Steps
The input of the process should be a `.tiff` 3D and temporal stack with one or more channels.
If you want to use fix points registration option, you should have a file that contains the position of each tracked point at each time.
See in our demo dataset for the format of this file.
It can be for example generated from a [TrackMate](https://imagej.net/plugins/trackmate/) file with the macro [getTrackPosition](XX) proposed in this repository.
Activate your python virtual environement in which napari and the plugin are installed.
For example, if the name of the environment is `timereg-env`, type: `conda activate timereg-env`.
When it's activated, type `napari` to start Napari.
Go to `Plugins>napari-3dtimereg` to start it.
Load the movie to register. The plugin will ask you to choose the channel on which to calculate the registration, so choose a channel that should be immobile during the movie (for example, the channel containing the fibers which should be stable over time).
Set the `reference channel` to the corresponding channel number (that you can see in the bottom left part of the viewer, with the layers name `MovieChannel*`).

## Parameters
In [Sarde et al., 2025](https://www.biorxiv.org/content/10.1101/2025.03.13.643016v1), we used the following parameter values to register our intravital movies:
*`use reference points: True`
*`rigid resolution: 4`
*`spline resolution: 2`
*`iterations: 1000`
*`rigid final spacing: 50`
*`spline final spacing: 200`
*`final order: 1`
## Output
At the end of the process, you will get a folder named `aligned` in which all processed stacks will be saved (registered stacks)
# License
Distributed under the terms of the [BSD-3] license, "napari-3dtimereg" is free and open source software.
If you use it, please cite our paper [Sarde et al., 2025](https://www.biorxiv.org/content/10.1101/2025.03.13.643016v1).