GithubHelp home page GithubHelp logo

jinxilee / fdoct Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hn-88/fdoct

1.0 0.0 0.0 682 KB

Code for doing realtime FD-OCT

License: MIT License

C++ 86.90% Batchfile 0.03% MATLAB 12.43% CMake 0.63%

fdoct's Introduction

FDOCT is now re-christened ABC-OCT: Affordable Bscan Camera-based Optical Coherence Tomography

Code for doing realtime Fourier Domain Optical Coherence Tomography (FD-OCT). See usage.txt for keystroke list, also enumerated in the code as comments.

Release including a windows binary and a Linux binary as an AppImage -

DOI

Basic build instructions for GCC using cmake:

  1. Make sure the required USB and OpenCV libraries and camera SDKs are installed.
  2. Modify the CMakeLists.txt file as required - if compiling for webcam, without QHY camera support, please remove the -lqhy dependency in CMakeLists.txt by renaming CMakeLists.txt.webcam as CMakeLists.txt, or, if using qhy support, rename CMakeLists.txt.qhy as CMakeLists.txt
  3. cd to the build directory
  4. cmake ..
  5. make BscanFFTwebcam.bin

Dependencies: The following dependencies for OpenCV need to be installed - on Ubuntu, this can be done by sudo apt-get install build-essential cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-2 libusb-1.0-0-dev libusb-1.0-0 libopencv-dev


The .travis.yml file contains build instructions for Travis CI - travis-ci.org - which can be replicated on the commandline for building.


File list:

BscanDark.cpp        - a test version with dark-frame subtraction

BscanFFT.cpp 	     - the main software, with QHYCCD camera support

BscanFFTpeak.cpp     - variant of the main software, with QHYCCD camera support and peak intensity display

BscanFFTsim.cpp      - simulation using saved files, for testing and validation

BscanFFTspin.cpp      - the main software, with spinnaker SDK (Point Grey camera, flir.com) support

BscanFFTspinj.cpp     - the main software, with spinnaker SDK and offline capture code with triggered capture

BscanFFTspinjnt.cpp   - the main software, with spinnaker SDK and offline capture code, non-triggered capture

BscanFFTwebcam.cpp   - webcam demo version of the main software, which does not need a QHYCCD camera

BscanFFTxml2m.cpp    - helper to convert output xml files to Matlab compatible m files

BscanFFTxml2mm.cpp   - helper to convert output xml files to multiple Matlab compatible m files

BscanFFTxml2ms.cpp   - helper to convert output xml files to multiple Matlab compatible m files, each with a single variable

CMakeLists.txt       - configuration file for the cmake environment 

CMakeLists.txt.qhy   - rename this as CMakeLists.txt if building with qhy support

CMakeLists.txt.webcam   - rename this as CMakeLists.txt if building without qhy, supporting only a webcam

CMakeLists.txt.spinnakermultithreaded   - rename this as CMakeLists.txt if building for spinnaker SDK - flir.com

Displayspin.cpp   - demo to see frame rate with spinnaker SDK

Displayspinmt.cpp   - demo to see frame rate with spinnaker SDK, old multithreaded trial not optimized

ViewportSaver.cpp     - a simple interface to display save viewport images, and save on receipt of s or <spacebar>.

ViewportSaverwebcam.cpp  - as above, written to use a webcam driver instead of QHY driver.

multicamtest.cpp     - an attempt to use multiple QHY cameras at once - does not work.

More documentation for basic compiling instructions etc is at https://github.com/hn-88/QHYCameratests/blob/master/readme.txt

Documentation for cross platform compiling is at http://hnsws.blogspot.com/2018/03/cross-platform-issues.html

Please also see the following:

http://hnsws.blogspot.com/2018/03/qhy-camera-glitch.html

http://hnsws.blogspot.com/2018/03/qhy-sdk-windows-and-linux.html

http://hnsws.blogspot.com/2018/03/windows-executable-slower.html

Documentation for integrating Spinnaker SDK is at http://hnsws.blogspot.com/2019/08/implementing-opencv-project-with.html and http://hnsws.blogspot.com/2019/08/visual-studio-specifics-of-opencv.html

fdoct's People

Contributors

hn-88 avatar

Stargazers

 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.