Coder Social home page Coder Social logo

uw-loci / curvelets Goto Github PK

View Code? Open in Web Editor NEW
21.0 20.0 16.0 651.94 MB

Curvelet-Transform based fibrillar collagen quantification (CurveAlign and CT-FIRE)

Home Page: http://loci.wisc.edu/software/curvealign

License: Other

MATLAB 79.65% C++ 1.24% Python 2.09% Jupyter Notebook 17.02%

curvelets's Introduction

Curvelet-Transform based fibrillar collagen quantification (CurveAlign and CT-FIRE)

This software package includes two tools, i.e. CurveAlign[1-4] and CT-FIRE[5-6] for collagen fiber quantification. CurveAlign is a curvelet transform (CT)[7]-based quantitative tool for interpreting the regional interaction between collagen and tumors by assessment of up to ~thirty fiber features, including angle, alignment, and density. CT-FIRE analyzes individual fiber metrics such as length, width, angle, and curvature. The individual fibers extracted by CT-FIRE can be imported into the CurveAlign as one of the two fiber analyse modes. The approach of CT-FIRE is described in [5], which combines the advantages of the fast discrete curvelet transform for denoising images, enhancement of the fiber edge features, and the fiber extraction (FIRE) algorithm [6] for extracting individual fibers. For now, CurveAlign should be used for bulk assessment of collagen features including angles/density and CT-FIRE for individual fiber quantification.

Since the release in 2020, we have been adding new features, mainly including 1) Bio-Formats importer/exporter to enhance image format support; 2) auto-threshold for CT-FIRE to optionally apply different thresholds for image stack or images from different acquisition settings; 3) fiber intersection points calculation based on CT-FIRE fiber extraction; 4) ROI based fiber density analysis; 5) deep learning based cell-fiber analysis. We have started running python-based deep learning modules for individual cell analysis which is integrated to the MATLAB-based fiber analysis pipeline to quantify the fiber-cell/tumor interactions.

CurveAlign Example CT-FIRE Example

A quick manual to a cell-based fiber and tumor analysis module for the newest version CurveAlign 6.0 can be found here (testing only for now). An illustration of three relative measurements between fibers and associated annotation(can be tumor, cell, and any ROI) is shown below.

CurveAlign and CT-FIRE are licensed under the 2-Clause BSD license as described LICENSE.txt, except for some third-party code whose licenses are described in LICENSE-third-party.txt. One third-party code, CurveLab 2.1.2 MATLAB package for curvelet transform, can only be downloaded from http://www.curvelet.org/software.html. To run CurveAlign or CT-FIRE, the CurveLab needs to be downloaded and added to the MATLAB searching path.

Installation and Usage:

  1. General instructions for downloads and installation of CurveAlign or CT-FIRE

  2. Quick Manual and testimages

  3. CurveAlign FAQs and CT-FIRE FAQs

  4. Initial protocol for alignment quantification

References:

CurveAlign

  1. Schneider, C.A., Pehlke, C.A., Tilbury, K., Sullivan, R., Eliceiri, K.W., and Keely, P.J. (2013). Quantitative Approaches for Studying the Role of Collagen in Breast Cancer Invasion and Progression. In Second Harmonic Generation Imaging, F.S. Pavone, and P.J. Campagnola, eds. (New York: CRC Press), p. 373.

  2. Bredfeldt, J.S., Liu, Y., Conklin, M.W., Keely, P.J., Mackie, T.R., and Eliceiri, K.W. (2014). Automated quantification of aligned collagen for human breast carcinoma prognosis. J Pathol Inform 5.

  3. Liu, Y., Keikhosravi, A., Mehta, G.S., Drifka, C.R., and Eliceiri, K.W. (2017). Methods for quantifying fibrillar collagen alignment. In Fibrosis: Methods and Protocols, L. Rittié, ed. (New York: Springer) p.429-451

  4. Liu Y, Keikhosravi A, Pehlke CA, Bredfeldt JS, Dutson M, Liu H, Mehta GS, Claus R, Patel AJ, Conklin MW, Inman DR, Provenzano PP, Sifakis E, Patel JM, Eliceiri KW. (2020) Fibrillar collagen quantification with curvelet transform based computational methods. Front Bioeng Biotechnol 8:198.

CT-FIRE

  1. Bredfeldt, J.S., Liu, Y., Pehlke, C.A., Conklin, M.W., Szulczewski, J.M., Inman, D.R., Keely, P.J., Nowak, R.D., Mackie, T.R., and Eliceiri, K.W. (2014). Computational segmentation of collagen fibers from second-harmonic generation images of breast cancer. Journal of Biomedical Optics 19, 016007–016007.

  2. Stein, A. M., Vader, D. A., Jawerth, L. M., Weitz, D. A. & Sander, L. M. An algorithm for extracting the network geometry of three-dimensional collagen gels. J. Microsc. 232, 463–475 (2008).

Fast Discrete Curvelet Transform

  1. Candes, E., Demanet, L., Donoho, D. & Ying, L. Fast discrete curvelet transforms. Multiscale Model. Simul. 5, 861–899 (2006).

Lab page links

CurveAlign at the website of Eliceiri lab

CT-FIRE at the website of Eliceiri lab

curvelets's People

Contributors

apatel65 avatar bredfeldt avatar ctrueden avatar futurist4science avatar guneetsinghmehta avatar heqiaowonderzhu avatar hinerm avatar keikhosravi avatar mpinkert avatar pehlke avatar prashant3863 avatar timliang4 avatar tliang4 avatar wusabbrin avatar yuminguw avatar zjpetersen avatar

Stargazers

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

Watchers

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

curvelets's Issues

CT-FIRE on macOS Catalina

Hello everyone,
How can I download CT-Fire Standalone application on macOS Catalina, without facing any problem.

Bio-Formats GUI

Incorporate the BFinMatlabFiugreSlider.m (visualization function) into the bioFormatsMatlabGUI function after loading an image. Use structure "BFcontrol" to contain all the control parameters read or set by the BF GUI. More details can refer to the currently hardwired parameters in BFinMatlabFiugreSlider.m function. The colormap option, uieidtfields on the BF GUI can be kept and the corresponding values can be passed to the visualization function.

bfsave in Bio-Formats matlab library saves an incorrect BitDepth information

When using "bfsave" to split channels or timepoints, the resulted images of separate channels or timepoints have a BitDepth that is different from the original image. This error can be reproduced in Bio-Formats MATLAB importer and exporter GUI by following steps:
(1) Import a multi-channel image of 8-bit or 16-bit image.

(2) Choose "Each Channel" in the "Export" panel and then click "Save"

(2) Click the "Individual Image" to import the saved image in step (2)

The OME-XML metadata shows that SignificantBits="64"

Mask Functionality?

How do I get the CT partial reconstruction image without the border, axis and subtitles when running CT-FIRE? I am looking to create a mask of the collagen-rich regions of my image.

Additionally, is there any sort of functionality that outputs the location/ coordinates of specific fiber regions? I want to know where certain fibers are.

Re-organize/design the layout of the GUI of the intersection point(IP) detection module

  1. Put all the buttons to the left column.
  2. Make the coordinates table occupy the full column from top to bottom of the figure.
  3. Refer to the ROI manager of Fiji/CurveAlign to design the button function.
  4. Add two check boxes to show/not show "IP Index" and "all IP points".
  5. Add a button to load an image with the CT-FIRE output .mat file. This can make this module do a post-processing of CT-FIRE results.
  6. Add a dropdown menu to list all IP detection methods.

Restructure source directory

what we want for curvelets repository:

  • src directory
    • ctfire directory
    • curvealign directory

These source directories should contain the minimum amount of stuff so that all we need to do is:

  1. copy CurveLab to one of these source directories on local machine
  2. run mcc -m -a ./ CurveAlign.m ormcc -m -a ./ ctFIRE.m

or for headless executables we use goCTFK.m or goCAK.m

So we can document this in a README.md

Evaluate UDCT vs. FDCT and other possible options

The Uniform Discrete Curvelet Transform (UDCT) is a possible alternative to the Fast Discrete Curvelet Transform (FDCT). There is also a review paper from 2010 on curvelets.

The UDCT is appealing because there is a partial open-source implementation written in Julia on GitHub. We could easily port this to Java, MATLAB, and/or other useful platforms. Whereas the flagship FDCT implementation, CurveLab, is unfortunately not open source.

Major goals of this evaluation are:

  • Possible improvements in both performance and results/correctness.
  • Deploy curvelet-based analysis routines in ImageJ and other OSS tools which give scientists improved control over their in toto workflow.

Warning message starting CurvAlign in Matlab R2014b on Linux (Ubuntu 16.04)

When you type 'CurveAlign' into command window to start the GUI MatLab warns the following.

Warning: Invalid file or directory '<HOME PATH/CURVEALIGN PATH>/CurveAlign
V4.0 Beta sourcecode for August 31 2017
release/20130227_xlwrite/poi_library/dom4j-1.6.1.jar'. 
> In javaclasspath>local_validate_dynamic_path at 274
  In javaclasspath>local_javapath at 182
  In javaclasspath at 119
  In javaaddpath at 71
  In CurveAlign at 57 
  1. Can the warning be fixed or suppressed if not critical?
  2. Is this only related to Linux/Mac builds or is it an issue for Windows?

Redesign the functionality of some buttons/operations in IP detection module.

  1. "Reset" should make the module start over .
  2. Any operation (deletion, addition, combination) of the X-Y table should update the corresponding data file.
  3. Currently selected one or more IPs in the X-Y table should be visualized in the figure.
  4. Add a button to set the properties of the marker/index size and color.

MATLAB save a wrong physical size of the pixel

When using "imwrite" to save an 8-bit image, the physical size of X and Y can not be set by the user. It was to set to a fixed value by the system (in Windows 10, the value was 352. 778) . This error can be reproduced in Bio-Formats MATLAB importer and exporter GUI by following steps:
(1) Choose "Each Plane MATLAB 8-bit" in the "Export" panel and then click "Save"

(2) Click the "Individual Image" to load the saved image in (1)

The Pixel size will be shown to be 352.778.

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.