Giter Site home page Giter Site logo

fidvc's Introduction

The Fast Iterative Digital Volume Correlation Algorithm (FIDVC) is the next generation DVC algorithm providing significantly improved signal-to-noise, and large (finite) deformation (incl. large rotations and image stretches) capture capability at low computational cost (please see Bar-Kochba, Toyjanova et al., Exp. Mechanics, 2014 for more details).

Important pages

Purpose

The following implementation contains the Matlab m-files for our FIDVC algorithm. The FIDVC algorithm determines the 3D displacement fields between consecutive volumetric image stacks. To provide maximum user versatility the current version is the CPU-based version, which runs a little bit slower (~ 5 - 15 minutes/per stack) than the GPU-based implementation. As Matlab’s GPU-based subroutines become more efficient we hope to provide the GPU-based version at a later release date.

Running FIDVC

C Compiler

To run you need a compatible C compiler. Please see (http://www.mathworks.com/support/compilers/R2015a/index.html)

Input 3D Image Stack Requirements

  • To check if the 3D image stack have the required speckle pattern and intensity values for correlation please use our DVC simulator.
  • The 3D image stack need to be saved in a 3 dimensional matrix (intensity values are stored at x, y and z position) in vol.mat* files.
  • We recommend that the input image stack at each dimension should have at least 1.5 times of the subset size as the number of pixels. The default subset size is 128x128x64, so we recommend that the minimum input volume size should be 192x192x96.
  • The size of the input image stack should be divisible by 0.5 times the size of the subset.

Running included example case

  1. Make sure that the main files and the supplemental m files (from file exchange) are added to the path in Matlab.
  2. Download and save the example volume data in the example folder.
  3. Run the exampleRunFile.m file to and compare its displacement outputs to the contour plots in the referenced paper (Bar-Kochba, Toyjanova et al., Exp. Mechanics, 2014)

Health warning!

FIDVC requires a 3D stack to be read in, which depending on the volume size can require a large amount of RAM in Matlab.

Files

  • Main files
  • addDisplacements.m
  • checkConvergenceSSD.m
  • DVC.m
  • filterDisplacements.m
  • funIDVC.m
  • IDVC.m
  • removeOutliers.m
  • volumeMapping.m
  • Supplement m files from the MATLAB file exchange:
  • gridfit.m
  • inpaint_nans.m
  • inpaint_nans3.m
  • mirt3D_mexinterp.cpp
  • mirt3D_mexinterp.m
  • mirt3D_mexinterp.mexw64
  • Example Run files
  • exampleRunFile.m
  • example volume data (vol00.mat, vol01.mat, resultsFIDVC.mat, outputREsults.pdf, matlab_workspace.mat).

FAQ

What are the requirements for the input 3D image stack?

Please refer to input 3D Image Stack Requirements.

Can I use FIDVC for finding displacement fields in 2D images?

No. But you can use FIDIC, this is 2D version of FIDVC for finding displacments in 2D images.

Cite

If used please cite: Bar-Kochba E., Toyjanova J., Andrews E., Kim K., Franck C. (2014) A fast iterative digital volume correlation algorithm for large deformations. Experimental Mechanics. doi: 10.1007/s11340-014-9874-2

@article{bar2014fast,
  title={A fast iterative digital volume correlation algorithm for large deformations},
  author={Bar-Kochba, E and Toyjanova, J and Andrews, E and Kim, K-S and Franck, C},
  journal={Experimental Mechanics},
  pages={1--14},
  year={2014},
  publisher={Springer}
}

Contact and support

For questions, please first refer to FAQ and Questions/Issues. Add a new question if similar issue hasn't been reported. We shall help you at the earliest. The author's contact information can be found at Franck Lab.

fidvc's People

Contributors

francklab avatar mohakpatel avatar

Watchers

James Cloos avatar Alex Landauer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.