Giter Club home page Giter Club logo

genfire_original's Introduction

#Welcome to GENFIRE

Welcome to the MATLAB implementation of GENFIRE.

GENFIRE, for GENeralized Fourier Iterative REconstruction, is a robust, Fourier-based reconstruction algorithm that is capable of using a limited set of input projections to generate a 3D reconstruction while also partially retrieving missing projection information. It does this by iterating between real and reciprocal space and applying simple constraints in each to find an optimal solution that
correlates with the input projections while simultaneously obeying real space conditions such as positivity and support.The result is a more consistent and faithful reconstruction with superior contrast and, in many cases, resolution when compared with more traditional 3D reconstruction algorithms such as Filtered Back-Projection (FBP) or the Algebraic Reconstruction Technique (ART).

Tutorial

Reconstructions are run either with GENFIRE_Main.m for a cubic array and 3 Euler angles or with GENFIRE_Main_Tomo.m for a rectangular array with a single tilt-axis. Simply edit the parameters in the appropriate file and run the script to execute the reconstruction. The parameters that may be adjusted are

  • filename_Projections ( char ) - filename containing projection images as an N x N x num_projections array (N must be even)

  • filename_Angles ( char ) - filename containing the angles as either a num_projections x 3 array of Euler angle triples (phi, theta, psi) or a num_projections x 1 array indicating a single-axis tilt series

  • filename_Support ( char ) - filename containing an NxNxN binary support

  • filename_InitialModel ( char ) - filename containing an NxNxN initial model. Comment out to skip providing one, and an empty array will be used instead

  • numIterations ( int ) - number of GENFIRE iterations to run

  • pixelSize ( double ) - size of a single pixel, used to display the Fourier Shell Correlation (FSC) with proper units if desired. Setting pixelSize to 0.5 will

  • oversamplingRatio ( int ) - controls the amount of zero padding. Formally, the oversampling ratio in a given direction is the total array size (after padding) divided by the size of the input projection.

  • griddingMethod ( int ) - controls the gridding method. Choose from the following:

    1. FFT - Faster, less accurate
    2. DFT - Slower, more accurate
  • constraintEnforcementMode ( int ) - choose a method of enforcing the Fourier constraint from:

    1. Resolution extension and suppression
    2. Resolution extension only
    3. Enforce all datapoints always (No resolution extension or suppression)
  • interpolationCutoffDistance ( double ) - maximum tolerable radial distance to consider measured datapoints for gridding to a given Fourier voxel

  • constraintPositivity ( bool ) - on/off positivity constraint

  • constraintSupport ( bool ) - on/off support constraint

  • ComputeFourierShellCorrelation ( bool ) - the data will be divided into two halves, independently reconstructed, and the FSC will be compared between the two halves. A final reconstruction will then be computed from all of the data

  • numBins ( int ) - number of bins to use in the calculation of FSC (if applicable)

  • percentValuesForRfree ( double ) - percentage of data to withold within each shell for calculation of Rfree

  • numBinsRfree ( int ) - number of bins to divide Fourier space in for Rfree

  • doCTFcorrection ( bool ) (experimental) - turn on CTF correction

  • CTFThrowOutThreshhold ( double ) (experimental) - Fourier values in regions where the corresponding CTF is lower than this value will not be gridded

Author: Alan (AJ) Pryor, Jr.
email: [email protected]
Jianwei (John) Miao Coherent Imaging Group
University of California, Los Angeles
Copyright (c) 2015. All Rights Reserved.

genfire_original's People

Contributors

hellomikelo avatar

Watchers

James Cloos 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.