Khanlab_Tutorials

  • Introduction: Sept 13

    • Collaborating: who is experienced in what?
    • Where do we get help?
    • Slack channel
  • Intro to Linux & Compute Canada: Sept 20 (Ali, ...)

    • Windows virtual machine
    • Passwordless ssh
    • SSHFS for mounting drives and accessing data
    • Intro to Bash and commandline tools
  • Data retrieval and conversion: Sept 27

    • DICOM server (Igor)
      • Requesting access to projects
      • Ways to download datasets
      • Conversion to Nifti
    • BIDS <- (Olivia)
  • Off the shelf processing: Oct 4

    • Singularity and docker intro
    • Running jobs on Compute Canada with Khanlab toolset (Neuroglia) <- Suzanne could help with this
    • Off the shelf pipelines <- Suzanne could do something about fmriPrep
  • Data visualization: Oct 11

    • ITKSnap (Geetika)
    • FSLeyes (Sudesna)
    • Slicer (Geetika)
    • Paraview (Jason)
  • Python for scientific programming: Oct 18 (Alan Kuurstra)

    • Intro to pycharm IDE
    • Setup pycharm like matlab
    • Python for matlab users (Tristan doesn't use pycharm a ton but could help with some of this)
    • Data manipulation and visualization (Jason/Olivia have some stuff that can be contributed to this)
    • Pip for finding and obtaining python packages
  • Jupyter notebooks and Python best practices: Oct 25

    • Introduction to Jupyter + Juyter on Compute Canada (Jason)
    • Setting up a virtual environment (and why it’s useful) (Tristan can help, Jason can also help)
    • Python name conventions, PEP8, commenting code (Alan Kuurstra)
  • Version control: Intro to GIT: Methods Lunch Oct 28 (Alan Kuurstra)

    • Sales pitch for version control.
    • Making a good commit.
    • Saving changes to the cloud: github or gitlab
  • Version control: Tour of GIT . : Nov 1 (Igor)

    • A second sales pitch for version control.
    • Conceptually explain what Git can do
    • Resources for learning GIT in detail
  • Giraffe : Nov 8

    • Graphical Interface for Reproducible Analysis oF workFlow Experiments

To be finalized:

  • Creating custom pipelines with Nipype - Nov 8 -- <- Olivia has material/can lead the Miykeal tutorials

    • Why nipype instead of bash?
    • Pipeline for parameter tweaking (parallelizing a parameter search)
    • Pipeline for studies (parallelizing subject processing)
    • Brief intro to custom interfaces
  • Singularity containers

    • Packaging a nipype pipeline into a singularity image
    • Run a singularity image on Compute Canada
  • Testing and continuous integration (Igor)

    • Unittest for python
    • Googletest for c++
    • Continuous integration with gitlab
    • Continuous integration with github (Jason can talk a little bit about github actions here!)

Current thoughts

  • Have the tutorials done on Friday mornings (9.30 to 12) starting at the beginning of September.

  • Each tutorial takes around 2 hours with a 10 minute break during the 2 hours.

  • Must have a tutorial outline and sample data/task for everyone to work on.

  • Tutorials will be recored and will make available for new students.

NOTE : please bring your laptops charged as extention chords might not be enough for everyone!