Skip to content

fordanic/image-registration

Repository files navigation

image-registration

A MATLAB library/toolbox providing access to image registration, initially developed for use with medical images.

Copyright

Copyright (c) 2015 Daniel Forsberg danne.forsberg@outlook.com

About

This toolbox was written during my PhD at Linköping University, Sweden. However, although developed during that time, it doesn't contain so much of the specifics that I researched during my PhD. Rather it contains a general framework for image registration in MATLAB. The toolbox supports the following features:

  • 2D and 3D registration
  • Symmetric registration
  • Translation, rigid and affine registration (parametric)
  • Non-rigid registration (non-parametric) with support for ** Fluid and elastic regularization (not really but often called so) ** Additive, compositive and diffeomorphic accumulation of the update field ** Registration in the Log-domain
  • All this using either optical-flow based registration (demons in the non-rigid case), phase-difference based registration (the Morphon in the non-rigid case) and polynomial expansion based registration.
  • Use of certainty fields for controlling areas of influence during the registration process (only in the case of phase-difference based registration)

Specifics of my thesis are rather found in separate toolboxes, to be made available at my GitHub account.

Setup

To use the code available in this repository, add the following lines to your startup.m file.

addpath('path-to-this-repository')

setup_image_registration_repository();

The last line will make sure to compile included mex-files and keep them up to date.

If you don't have a startup.m file, create it from startupsav.m. Run the 'userpath' function to determine where MATLAB looks for the startup.m file.

Note that this library is dependent on my matlab-utilities repository, available from https://github.com/fordanic/matlab-utilities and assumes it to already be installed and available on the MATLAB path. If not available then you will be offered during setup to download needed external dependencies.

Best way to test the setup of the toolbox is to run registration_example2d or registration_example3d. Type help registration_example2d or help registration_example3d to see some of the parameters that can be set. Use these examples as a starting point when setting up to run your own registration.

Content

This section provides a brief overview of the content in the different folders

external - This folder contains code from external sources

registration - This folder contains functions for image registration

test-data - This folder contains data for testing the registration.

visualization - This folder contains functions related to visualization of the registration process

Adding folders

When adding a new folder in the base folder make sure to update this file.

Coding standard

Basic guidelines for a simple coding standard are given in the document "Matlab Programming Style Guidelines.pdf", available in the matlab-utilities repository.

Adding m-files

To create a suitable file header for new M-files, use the function create_new_m_function, available in the matlab-utilities repository.

Licensing

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Source code provided in this repository is generally released under the GNU GENERAL PUBLIC LICENSE Version 3, if not otherwise stated.

About

A MATLAB library/toolbox providing access to image registration suitable for use with medical images.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published