LArbys / LArCV

Liquid Argon Computer Vision
11 stars 9 forks source link

LArCV: Liquid Argon Computer Vision

Data format and image processing tools, routines, and framework for LAr TPC-derived images. Developed as bridge between LArSoft and deep learning frameworks, e.g. PyTorch, Caffe, Tensorflow.

We originally developed for MicroBooNE, but are now using this library across experiments. MicroBooNE specific code has been moved into a new repository, ublarcvapp dependent on this library and larlite.

One recent big change is that the assumed row order is now in postive time order (same as LArCV2). We, however, are attempting to maintain the ability to read old "tickbackward" files created for MicroBooNE. When reading tickbackward images, the data is flipped along the row axis in order to be treated as "tickforward" data.

Planned features

Recently completed features

Installation

(direct) Dependencies

Setup

  1. Dependencies to build with are determined through the presence of environment variables or executables in your PATH:

    • ROOT: usually can setup the environment variables we need by runningn the thisroot.sh script.
    • OPENCV: need the presence of environment variables OPENCV_INCDIR and OPENCV_LIBDIR that point to the include and library directories, respectively
  2. clone the repository

    git clone https://github.com/LArbys/LArCV.git
  3. go into the LArCV directory

  4. run the build configuration script

    source configure.sh
  5. make a build folder somewhere, e.g. in the same folder as this README.

    mkdir build
  6. go into the folder and run cmake

    cd build
    cmake -DUSE_PYTHON3=ON ../

    (If you require python2, probably deprecated in the future, you can use the cmake flag -DUSE_PYTHON2=ON instead.)

  7. then make and install the code

    make install

The output of make install will be libaries and headers in build/installed/. A cmake config file is provided in build/installed/lib/larcv in case you want to incorporate the library into other projects.

Wiki

Checkout the Wiki for notes on using this code.