Giter Site home page Giter Site logo

ni-chen / holoflow-ptv Goto Github PK

View Code? Open in Web Editor NEW
12.0 4.0 7.0 251.68 MB

Code of "Snapshot Space-Time Holographic 3D Particle Tracking Velocimetry", Laser & Photonics Reviews, 2021.

Home Page: https://ni-chen.github.io/HoloFlow-PTV/

License: GNU General Public License v2.0

MATLAB 99.80% M 0.05% Java 0.15%
optimization holography 4d ptv 3d

holoflow-ptv's Introduction

Space-Time 4D Holographic PTV

License: GPL v2

Project Page | Paper

Snapshot Space-Time Holographic 3D Particle Tracking Velocimetry in Laser & Photonics Reviews, 2021.
Ni Chen*, Congli Wang*, and Wolfgang Heidrich
King Abdullah University of Science and Technology
*denotes equal contribution


Overview

This repository contains MATLAB and CUDA (not yet published) implementation of the Holo-Flow framework.


Requirements

How to use

  1. Clone the code
git clone https://github.com/Ni-Chen/HoloFlow-PTV.git
  1. Download the sample data from Dropbox, and put it in folder of 'code/data/simulation'

  2. Run the code

    • For MATLAB version, go into /HoloFlow-PTV/code/, run 'main.m'.

    • For CUDA version, compile the code firstly. (Documentation is under construction.)

    • Sample results:

particle volumes hologram #1 hologram #2 reconstructed flow
  1. Prepare your data if you need to test it.
    • The hologram frames are stored in ./data/ as a .mat file

    • The .mat file is of size $N_y \times N_x \times N_{frame}$, where $N_y \times N_x $ is the hologram dimensions and $N_{frame}$ is the frame number.

    • The holography system parameters are stored as a structure and named as params, where

params.dz       % depth interval of the object
params.Nz       % depth number of the particle volume
params.Nx/Ny    % lateral dimension of the particle volume
params.pps      % pixel pitch of the hologram
params.lambda   % wavelength of the light source
  • For the Holo-Flow reconstruction, you need to set the below parameters:
%% holo solver parameters
fasta.ratio = 1;      % alpha-beta ratio if the lateral and axial pixel pitch are different in the particle volume
fasta.mu = 0.1;       % FASTA deconvolution
fasta.maxIters = 20;  % FASTA iteration number, 10-20 is OK

%% flow parameters
flow.flow.warping_iters = [3 3 3];  % Depends on the range of the flow
flow.flow.ratio = ratio;   % alpha-beta ratio if the lateral and axial pixel pitch are different in the particle volume
flow.flow.priors = priors; %[1e-4 1e-4 1e-6 1e-6]
flow.cg.maxit = 1000;      % Flow solver iteration number
flow.cg.tol = 1e-3;        % flow error tollorance

% additional parameters
other.tau = 0.001;  % As the difination in the paper
other.maxit = 3;    % The outer iteration

Contact

Ni Chen ([email protected]), Congli Wang ([email protected])

holoflow-ptv's People

Contributors

ni-chen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  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.