Alignment check - usage¶
Usage of the different methods are shown below:
The purpose of checkerboard
, voxelwise_diff
and color_mix
functions in mrivis
is to offer different ways of checking alignment between two two given images (either from the same modality or different modalities possibly with different contrast properties).
To use them is simply a matter of importing them e.g. checkerboard
, and passing the two images to compare (NOTE: you have to change the values for variables path1
and path2
to valid images on your system):
from mrivis import checkerboard
# REPLACE the paths with actual existing paths on your system
# If you don't have any data, some example data are provided in example_datasets folder of the mrivis repo
path1 = '/folder/image.nii'
path2 = '/folder/another.nii'
checkerboard(path1, path2) # square patches
You could customize them further in various ways using different parameters to fit your needs:
checkerboard(path1, path2, patch_size=5)
checkerboard(path1, path2, rescale_method=(0, 256) )
checkerboard(path1, path2, patch_size=10,
num_rows=1, num_cols=3) # 1 row per dimension, with 3 columns
checkerboard(path1, path2, patch_size=[10, 20], # rectangular patches
num_rows=2, # 2 rows per dimension (6 rows in total)
num_cols=5) # 5 panels per row
You can use the other methods voxelwise_diff
and color_mix
in a very similar manner:
from mrivis import voxelwise_diff, color_mix
voxelwise_diff(path1, path2)
voxelwise_diff(path1, path2, abs_value=False)
color_mix(path1, path2, alpha_channels=(1, 1))
color_mix(path1, path2, alpha_channels=(0.7, 1))
Gallery of examples to check alignment¶
Download this image to get a better look at the differences:
Comparing two BOLD images¶
Sample outputs for checkerboard plots¶
When the two scans are mismatched:
When the mismatch is low (here a smoothed image is comapred to its original), you can see the differences in intensity (due to smoothing), but you can also see that they are both spatially aligned accurately:
With really low patch-sizes (e.g. 1, which is voxel-wise alternation), you can see the alignment even better:
When there is mismatch, you can clearly see it (patch size 15 voxels square):
Let’s make the patches a bit bigger (patch size 25 voxels square):
Let’s make the patches a even bigger (50 voxels square):
Let’s use a rectangular patch (10 voxels high and 30 voxels wide):
If they were identical (no mismatch at all), you won’t see any edges or borders:
Full layout with 6x6 pangels can be seen in this folder.