Giter Site home page Giter Site logo

oct_processing's Introduction

OCT_processing

git clone https://github.com/petteriTeikari/OCT_processing

Usage

  1. Get some example .img data to `/data' folder
  2. Run process_folder_of_OCT_scans.m
  3. This will process all the .img files found from /data folder with the associated custom croppings

Custom cropping

Now we are computing A-scan(s) from OCT cube so you would like to specify which A-scan you would like to use that you can do there which is just a tab-delimited text file that can be auto-generated using update_A_scan_ROI.m based on the fixed values defined in read_config.m.

The function update_A_scan_ROI.m is however called on every run of process_folder_of_OCT_scans.m, and if you add new files to data it should initialize them with the default values, and you can later modify them manually if you for example find the coordinates using ImageJ.

At the moment the right vs. left eye is determined from filename, if the filename contains OD or OS (not case-sensitive). If the filename does not contain that, the pipeline has no idea from which eye the scan was from.

Sample processing results

Processing pipeline with the raw 8-bit .img Zeiss OCT input, followed by BM4D Denoising in LOG domain (OCT noise is multiplicative). (2nd row) Despeckling with L0 Smoothing which is used for more robust peak finding, while the actual peak value is read from the BM4D Denoised cube (well frame in our case)

Processing

The same with CLAHE in ImageJ/FIJI with a maximum slope of 2 to enhance the contrast:

Processing CLAHE

Error case

When you pick improper A-scan, the canonical 2-peak characteristic is missing and when the denoised signal for peak finding is not smooth enough, the Matlab findpeaks just finds two peaks very close to each other:

Error case

oct_processing's People

Contributors

petteriteikari 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.