Latest Version
V1.3 Beta2

(The newest version V2.0 is under development but the standalone APP(Feb102017build) can be downloaded for testing purpose: download Windows64 APP package, download Mac APP package)

When do I use CurveAlign and when  do I use CT-FIRE?

These two programs were developed with complementary but slightly different main goals. CurveAlign was developed first and had the main goal of quantifying all fiber angles within a region of interest relative to a user defined boundary be it a straight line or a tumor boundary. As our research grew in investigating the role of collagen in cancer progression and invasion we wanted to investigate how individual fiber parameters could influence cancer and other diseases. Out of this need came the development of CT-FIRE to analyze individual fiber metrics such as length, width, angle, and curvature.  Besides the relative angle quantification, the newest version of CurveAlign can be used to extract other collagen fiber features, such as localized fiber density, fiber alignment, and the spatial relationship between fiber and the defined boundary. In addition, the extracted individual fibers extracted by CT-FIRE can be imported into the CurveAlign for the feature extraction mentioned above. We have future plans to integrate these programs further. For now CurveAlign should be used for bulk assessment of collagen features including angles/density and CT-FIRE for individual fiber quantification.

The purpose of CT-FIRE is to allow users to automatically extract collagen fibers in an image, and quantify fibers with descriptive statistics, such as fiber angle, fiber length, fiber straightness, and fiber width. The program reads in image files supported by MATLAB and extracts the individual collagen fibers via a combined method we call ctFIRE ( curvelet transform  plus  FIRE algorithm). ctFIRE which is an approach combining the advantage of the fast discrete curvelet transform ( for denoising the image and enhancing the fiber edge features and the advantage of fiber extraction (FIRE) algorithm (ref) for extracting individual fibers. The output may be displayed on the screen and written into .csv files for further analysis in statistical software tools.

Key Features:

  • Emphasis is on collagen fiber analysis but can be used to analyze any fiber structure
  • Work with any image using Bio-Formats conversion in FIJI or direct MATLAB import
  •  Analysis of many types of microscopy data including Second Harmonic, Multiphoton and histology stains.
  • Measure individual fiber parameters-angle, length, straightness, and width
  • Analyze correlation of different parameters to each other
  • Output all properties for analysis in third party quantitative packages.

Major updates

The primary change in  CT-FIRE  V1.3 Beta2  is the advanced output control.  Compared to the version 1.2.1, this version provides the following major features and capabilities:

(1) Manually look up the fiber properties  and remove the over-segmented fibers;  

(2) Automatically select fibers by use of one threshold condition or combined conditions including the absolute or relative limits of fiber width, length, angle and straightness;

(3) Output the a variety of statistic measures of the selected fibers obtained from (2) as well as the option to output raw data and overlaid images of them;

(4) Analyze the selected fibers in a single image/stack or in multiple images and visualize the associated statistics;

(5) Batch-mode fiber extraction for stacks;

(6) Improved width calculation and the option to output the maximum width of each fiber;

(7) Option to estimate the number of bins for the histogram based on the number of fibers; 

(8) Control the output image resolution and improve .mat file loading function;

(9) Fix a bug to load and update the existing fiber extraction parameters; and

(10) Save the fiber properties of selected fibers into different sheets of one excel file. 

Release Notes:

Difference between MAC and Windows: ‘xlswrite’ function is used in Windows version to output the .xlsx file, which can save the selected fibers from up to 10,000 images;  ‘xlwrite’ function is used in MAC version and usually takes a longer time to save than xlswrite, and it can save the selected fibers from up to 250 images.  


Main Developers: 
Yuming Liu (primary contact and lead developer, Feb 2012-)

Adib Keikhosravi (current graduate student developer, Aug 2014-)

Guneet Singh Mehta (current graduate student developer, Jun 2014-)

Jeremy Bredfeldt (former LOCI PhD student, Feb 2012-  Jul 2014)

Carolyn Pehlke (former LOCI PhD student, Feb 2012- May 2012)

Prashant Mittal, former undergraduate student from IITJ (India), had contribution on testing and debugging, Aug 2014-May 2015


Please download the User's Manual for details and pay attention to the "Tips"  in the last section. 

Installation and Usage: 

Standalone Application for Windows:

1. Download and install Matlab Compiler Runtime(MCR)  MCR 7.17 2012a  for Windows 64-bit.

2. Download and run the binary file CT-FIRE

Standalone Application for Mac OS:

1. Ensure you have the required Java SE version 6 for x86_64 (not included in OSX 10.9 - Mavericks - and above):

From the Mac terminal, run:

/usr/libexec/java_home -V

If you do have it, note the directory where Java SE 6 is located. e.g. /Library/Java/JavaVirtualMachines/jdk1.6.0.jdk/Contents/Home

If you don't have it, install it from then run the above command again to find the Java 6 SE directory.

2. Download and install the MATLAB Compiler Runtime (MCR) MCR 7.17 2012a for Mac.

NOTE: If you did not have Java SE 6 installed by default in step 1 you will need to manually install the MCR:

In your terminal, navigate to the MCR_R2012a_maci64_installer directory and execute the command:

./install -javadir /Library/Java/JavaVirtualMachines/jdk1.6.0.jdk/Contents/Home

(with the Java 6 path updated appropriately based on the path you found in step 1)

3. Launch the APP:  right click the APP(ctrl -click)----->Show Package Contents ----> Contents---->MacOS---->applauncher (right-click and choose open)

4. Depending on the OS version, X11 might need to be installed to successfully running the APP. Just follow the instructions from the pop-up window to complete the installation. 


MATLAB version:

Download CT-FIRE matlab code package and unzip it into the default folder 'ctFIRE' . Then

(1) Go to and register to sign a licensing agreement and download the CurveLab 2.1.2 MATLAB package and unzip it;

(2) Download FIRE (FIbeR Extraction) software; and

(3) Place the three unzipped default folders i.e. ctFIRE, CurveLab-2.1.2 and FIRE into the same folder. With MATLAB's Current Folder set to the ctFIRE folder, enter "ctFIRE" at the command prompt to launch the GUI.


Download the User's Manual for full operating instructions

Download default parameters  (optional)

Download test images used in the Manual (optional)


1) For the images in batch-mode processing, or slices in a stack, the images or slices can be normalized to have the similar dynamic range.

2) Use Fiji or ImageJ to convert the image type to 8-bit image which is well supported for this version. Use Fiji script to pre-processing multiple images, such as to adjust the image contrast, segment the fibers in color images, or to locate the region of interests.

3) Setting fiber extraction parameters should consider image size, image contrast, fiber features( such as width, curvature, density).  Image size of 512 pixels by 512 pixels is suggested so as to use most of the default values.  All the parameters are adjustable via. csv file but only some of the key parameters can be adjust via GUI. The thresh_im2 to remove the background is the major parameter to be updated.

4) Post-processing ".mat" fiber extraction results to generate different output files. But be careful not to move the original image to other place since its original path will be used during the Post-processing. 

5) Use advanced output control to customize the output of the selected fibers that meets the user-defined fiber property condition(s).

6) Not to create  overlaid image in batch-mode  analysis to save time, which can be done anytime needed later.

7)  There is a images number limit for the advanced output control module,  for Windows it is set to be 10,000, for MAC, it is 250.

8) In MAC version, launch the application from the terminal to view the analysis progress.

9) Click "Reset" button to start over if any error occurs.


More Information

Source Code: