This capsule performs motion correction using Suite2p. The default is piece-wise rigid motion correction as in NoRMCorre.
All parameters are passed to registration.py using python registration.py [parameters]
All parameters are defined in main using argparse. The most important one is
'input-filename' which should point at an hdf5 file with a 'data' 3D array.
The main output is the motion corrected h5 data file, defaults to [input]_registered.h5
for raw data [input].h5
.
The motion transform offsets are stored as csv file (for historic LIMS reasons), defaults to [input]_motion_transform.csv
.
For QC some videos and figures are created:
motion_correction_preview_output
, default [input]_motion_preview.webm
max_projection_output
, default [input]_maximum_projection.png
avg_projection_output
, default [input]_average_projection.png
registration_summary_output
, defaults are[input]_registration_summary.png
[input]_registration_summary_nonrigid.png
[input]_registration_summary_PCxhigh.png
[input]_registration_summary_PCxlow.png
[input]_registration_summary_PCxrow.png
Movie
block_size
was likely too small for the data's noise level.PCxhigh
and PCxlow
(x is number of the PC) does not reveal residual motion but different cells being active.PCxrof
between PCxhigh
and PCxlow
has values close to zero.PCxrof
, PCxhigh
and PCxlow
are aligned using OpenCV's implementation of Farneback's method, thus we further rely on an independent method not just Suite2p's own.[input]_registered.h5
's datasets 'reg_metrics/regDX'
and 'reg_metrics/farnebackDX'
are very close to zero.[input]_registered.h5
's dataset 'reg_metrics/crispness'
increases from raw (1st value) to registered (2nd value) movie.