Code and Coding

From Shpyrko Group Wiki
Jump to: navigation, search

Contents

Analysis Code

Below are available versions of XPCS code in MatLab. Run XPCS_MainGUI.m to start the program. Please, contact Sebastian if you have suggestions or problems.


Things to be modified:

Add image quantization, converting to photon counts

Fix BG subtraction

  • scaling of images due to energy change
  • masks don't get saved in scale selection

Fix Min Width Annulus calculation

Add Polarization intensity loss

Make window sizes adjustable

Add capability to switch between frames in FITS files


Most Recent Version:

May 08, 2011 File:XPCS beta2.8.zip

  • Added use of Dynamic Mask for analysis. Masks are created based on the individual image in Mask tool
  • Added feature to expand or contract the region of interest (ROI) boundary by a pixel in Mask tool
  • Added two-variable 2nd-order polynomial fit in ROI in Mask tool
  • Added two-variable elliptical Gaussian fit in ROI in Mask tool
  • Added find center using center of mass intensity in ROI in Mask tool
  • Added find center using two-variable elliptical Gaussian fit in ROI in Mask tool
  • Added find center using minimum width annulus in ROI in Mask tool
  • Added export image directly in Mask tool
  • Added use of masks in background subtraction tool
  • Modified background subtraction tool layout
  • Added viewing options (zoom, pan, rotate) in setup definition tool
  • Modified angle definitions in setup definition tool to conform to reflection geometry standards and use sample axis definitions

Older Versions:

November 06, 2010 File:XPCS beta2.4.zip

  • Added ability to remove image during mask editing to see the mask only
  • Fixed error while hiding the mask
  • Added image mapping including: linear, square root, logarithmic, and tone mapping. Replaced XPCS_LogCheck function with new XPCS_mapScale function
  • Added image coloring including: Gray, Spectrum, Rainbow, Heat, and Cool
  • Added interactive tools: arrow, zoom, pan, data cursor, reset view
  • Remembers which file was loaded last or if the entire file list has been loaded, so that Analysis and movies do not have to reaload the same images
  • Edit XPCS_maskOpenFile function to take advantage of checking last file opened and also added capability to call function with specific file without calling dialog box
  • Changed how images are displayed by adding an extra scaled image, which can be reused to display, instead of repeatedly calculating the image map
  • Modified how the mask.thedata variable read in works; can now store many images, instead if reloading a specific frame
  • Modified Main file list to store number of frames per file
  • Created a new movieGUI, to control playing several frames of several files.
  • Added pause time option and autoscale option in movie control
  • Added movie export capability
  • Modified XPCS_openFolder to load only .hdf and .fits files from the specified folder


October 25, 2010 File:XPCS beta2.2.zip

  • Redefined how XPCS_fileReader and XPCS_convImgSize functions are called to expand their applicability
  • Simplified Code using the previous functions
  • Changed how XPCS_movie function works, allowing reading of multiple, multi-image .fits files


October 21, 2010 File:XPCS beta2.1.zip

  • Basic tool to load .hdf and .fits files and analyze within a desired region.
  • Import/export masks
  • Draw masks with rectangles, circles, polygons, or freehand
  • Define masked based on certain threshold value
  • Play movie of data
  • Define the setup using; automatically calculates q-scale across CCD
  • Background subtraction via automatically scaled images or defined values
  • Define independent data sets for analysis
  • Average over defined images
  • Autocorrelation and normalized difference method both compared to first or previous image

Coding Tips and Tricks

Out of Memory problems in Matlab 32-bit version

Increasing the heap space for the Java VM in MATLAB

Parallel Computing in Matlab

Personal tools