Code and Coding

From Shpyrko Group Wiki
(Difference between revisions)
Jump to: navigation, search
(Coding Tips and Tricks)
(Most Recent Version:)
 

Latest revision as of 17:04, 18 August 2011

Contents

[edit] 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.


[edit] 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


[edit] 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

[edit] 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

[edit] 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