Git Product home page Git Product logo

homebrew-mrtrix3's Introduction

MRtrix

Build Status @MRtrix3

MRtrix3 can be installed / run through multiple avenues:

Getting help

Instructions on software setup and use are provided in the online documentation. Support and general discussion is hosted on the MRtrix3 Community Forum. Please also look through the Frequently Asked Questions on the wiki section of the forum. You can address all MRtrix3-related queries there, using your GitHub or Google login to post questions.

Quick install

  1. Install dependencies by whichever means your system uses. These include: Python (>=2.6), a C++ compiler with full C++11 support (g++ 4.9 or later, clang++), Eigen (>=3.2.8), zlib, OpenGL (>=3.3), and Qt (>=4.8, or at least 5.1 on MacOSX).

  2. Clone Git repository and compile:

     $ git clone https://github.com/MRtrix3/mrtrix3.git
     $ cd mrtrix3/
     $ ./configure
     $ ./build
    
  3. Set the PATH:

    • Bash shell:

      run the set_path script provided:

        $ ./set_path
      

      or edit the startup ~/.bashrc or /etc/bash.bashrc file manually by adding this line:

        $ export PATH=/<edit as appropriate>/mrtrix3/bin:$PATH
      
    • C shell:

      edit the startup ~/.cshrc or /etc/csh.cshrc file manually by adding this line:

        $ setenv PATH /<edit as appropriate>/mrtrix3/bin:$PATH
      
  4. Test installation:

    Command-line:

     $ mrconvert
    

    GUI:

     $ mrview
    

Keeping MRtrix3 up to date

  1. You can update your installation at any time by opening a terminal in the mrtrix3 folder, and typing:

     git pull
     ./build
    
  2. If this doesn't work immediately, it may be that you need to re-run the configure script:

     ./configure
    

    and re-run step 1 again.

Building a specific release of MRtrix3

You can build a particular release of MRtrix3 by checking out the corresponding tag, and using the same procedure as above to build it:

git checkout 3.0_RC3
./configure
./build

Contributing

Thank you for your interest in contributing to MRtrix3! Please read on here to find out how to report issues, request features and make direct contributions.

homebrew-mrtrix3's People

Contributors

maxpietsch avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

homebrew-mrtrix3's Issues

Add App bundle and wrappers to enable better system integration

Similar to the standalone installer could we add OS integration into to the homebrew formula?

The following layout seems to accomplish this:

➜  bin git:(master) pwd            
/opt/homebrew/opt/mrtrix3/bin

Replace mrview binary with wrapper:

➜  bin git:(master) cat mrview                      
#!/bin/bash
f="${BASH_SOURCE}"
while [[ -L "${f}" ]]; do
 f2="$(readlink "${f}")"
 if [[ "${f2}" = /* ]]; then f="${f2}"; else f="$(dirname "${f}")/${f2}"; fi
done
f=$(dirname "${f}")
"${f}"/MRView.app/Contents/MacOS/mrview "$@"

Replace shview binary with wrapper:

➜  bin git:(master) cat shview
#!/bin/bash
f="${BASH_SOURCE}"
while [[ -L "${f}" ]]; do
 f2="$(readlink "${f}")"
 if [[ "${f2}" = /* ]]; then f="${f2}"; else f="$(dirname "${f}")/${f2}"; fi
done
f=$(dirname "${f}")
"${f}"/SHView.app/Contents/MacOS/shview "$@"

Move mrview into MRview.app application bundle:

➜  bin git:(master) tree MRView.app
MRView.app
└── Contents
    ├── Info.plist
    ├── MacOS
    │   └── mrview --> actual mrview binary moved here
    ├── Resources
    │   ├── mrview.icns
    │   └── mrview_doc.icns
    └── lib -> ../../../lib

4 directories, 4 files

Move shview into SHView.app application bundle:

➜  bin git:(master) tree SHView.app
SHView.app
└── Contents
    ├── Info.plist
    ├── MacOS
    │   └── shview --> actual shview binary moved here
    ├── Resources -> ../../MRView.app/Contents/Resources
    └── lib -> ../../../lib

4 directories, 2 files

I first installed mrview using homebrew and then made these changes manually.

Would this be technically feasible within the formula?
Would this be desirable?

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.