From 8178150a429fb69305bcdedaad84eb1519367a72 Mon Sep 17 00:00:00 2001 From: Adam Tyson Date: Thu, 29 Aug 2024 10:54:46 +0100 Subject: [PATCH] Add schedule for 2024 courses (#51) * Add schedule for 2024 courses * Add introduction to Python section * Fix morning/afternoon split * Add data managmenet section. * Tidy up data management a little. * add high-level git+good practice summary * link to histology course course website added in https://github.com/brainglobe/brainglobe.github.io/pull/246 * updated video-based behav alanysis course page * added short description for video analysis course * ignore anchors for miniforge url * Update docs/source/courses/software-skills.md Co-authored-by: Niko Sirmpilatze * Fix link check --------- Co-authored-by: sfmig <33267254+sfmig@users.noreply.github.com> Co-authored-by: JoeZiminski Co-authored-by: alessandrofelder Co-authored-by: niksirbi --- docs/source/conf.py | 2 + docs/source/courses/histology-brainglobe.md | 2 +- docs/source/courses/index.md | 2 +- docs/source/courses/software-skills.md | 108 ++++++++++++++++++++ docs/source/courses/video-analysis.md | 31 +++--- docs/source/index.md | 36 ++----- 6 files changed, 135 insertions(+), 46 deletions(-) create mode 100644 docs/source/courses/software-skills.md diff --git a/docs/source/conf.py b/docs/source/conf.py index 9c2b585..d7772ac 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -83,6 +83,7 @@ "https://neuroinformatics.dev/course-behavioural-analysis", "https://github.com/neuroinformatics-unit/course-behaviour-hpc", "https://neuroinformatics.dev/course-behaviour-hpc", + "https://github.com/conda-forge/miniforge", ] # -- Options for HTML output ------------------------------------------------- @@ -134,4 +135,5 @@ "https://keras.io/", "https://wiki.ucl.ac.uk", "https://www.dropbox.com", + "https://www.sciencedirect.com/" ] diff --git a/docs/source/courses/histology-brainglobe.md b/docs/source/courses/histology-brainglobe.md index b3cd721..065c23e 100644 --- a/docs/source/courses/histology-brainglobe.md +++ b/docs/source/courses/histology-brainglobe.md @@ -1,3 +1,3 @@ # Histology analysis using napari and BrainGlobe -For full details, please see the [BrainGlobe website](https://brainglobe.info/community/courses/dec-2023/index.html). +For full details, please see the [BrainGlobe website](https://brainglobe.info/community/courses/scheduled/dec-2023/index.html). diff --git a/docs/source/courses/index.md b/docs/source/courses/index.md index 3177fc2..678641c 100644 --- a/docs/source/courses/index.md +++ b/docs/source/courses/index.md @@ -23,5 +23,5 @@ introduction-image-analysis.md intro-software-dev.md python-packaging.md type-annotation.md - +software-skills.md ``` diff --git a/docs/source/courses/software-skills.md b/docs/source/courses/software-skills.md new file mode 100644 index 0000000..46eb246 --- /dev/null +++ b/docs/source/courses/software-skills.md @@ -0,0 +1,108 @@ +# General software skills for systems neuroscience + +## Overview +Held over seven days, this course will provide researchers with some basic computational skills for systems +neuroscience research. This will include general programming, software development best practices and data analysis +using leading open-source software tools. This course will also include some general microscopy lectures. + +## Schedule +| Date | Time | Event | Location | +|-----------------------|----------------|--------------------------------------------------------------|------------------------------------| +| **Monday, September 30th** | 13:00-14:00 | Introduction to the course | SWC Brasserie Seminar Room | +| | 14:00-17:00 | Introduction to Python (1) | SWC Brasserie Seminar Room | +| **Tuesday, October 1st** | 10:00-11:00 | Data management and sharing (1) | SWC Ground Floor Lecture Theatre | +| | 15:00-17:00 | Data management and sharing (2) | SWC Ground Floor Lecture Theatre | +| **Wednesday, October 2nd** | 10:00-12:30 | Introduction to Python (2) | GCNU Seminar Room | +| | 13:30-17:00 | Version control and software development best practices | GCNU Seminar Room | +| **Thursday, October 3rd** | 10:00-13:00 | Video-based analysis of animal behaviour (1) | SWC Brasserie Seminar Room | +| | 14:00-17:00 | Video-based analysis of animal behaviour (2) | SWC Brasserie Seminar Room | +| **Friday, October 4th** | 14:00-17:00 | Linux and high-performance computing | SWC Ground Floor Lecture Theatre | +| **Monday, October 7th** | 11:00-12:00 | General microscopy: basics | SWC Brasserie Seminar Room | +| | 13:00-14:30 | General microscopy: applications | SWC Brasserie Seminar Room | +| | 14:30-18:00 | Histology analysis (1) | SWC Brasserie Seminar Room | +| **Tuesday, October 8th** | 10:00-11:00 | Histology analysis (2) | SWC Ground Floor Lecture Theatre | +| | 14:00-17:00 | Histology analysis (3) | SWC Brasserie Seminar Room | + + +## Introduction to Python +The aim of the course is to introduce basic concepts of programming in Python, and establish a community of Python users. It is a hands-on course, in which we will guide you +through the process of writing your first Python script and teach you some best practices. + +The course will run over two days, 2.5-3h per day with a break in between. + +Instructors: Igor Tatarnikov, Sofía Miñano + +**Day 1** + +Part 1 +* Aims +* Why learn Python? +* How to work with Python? +* Basics of programming (1/2) + - Variables + - Data types + +Part 2 +* Basics of programming (2/2) + - Loops + - Conditional statements + - List comprehensions +* Writing your first Python script +* Loading and saving data + + +**Day 2** + +Part 1 +* Recap and Q&A +* Using third party libraries +* Functions and methods +* Classes and objects + +Part 2 +* Errors and exceptions +* Organising your code +* Documenting your code + + +### Course materials +- [Slides](https://docs.google.com/presentation/d/11URuWOxi5TMbeJNo4R1NWfBQ_ZPNFpe6YU6dvLAVcYQ/edit?usp=sharing) +- [Site for the 2023/2024 course](https://software-skills.neuroinformatics.dev/courses/intro-software-dev.html) + + +### Additional resources +- [Miniforge installers](https://github.com/conda-forge/miniforge#download) +- [PyCharm](https://www.jetbrains.com/pycharm/) +- [VS Code](https://code.visualstudio.com/) + +## Data Management and Sharing + + This course will introduce best-practices in neuroscience data management + and cover recent standardisation initiatives. The primary take-away from this course + will be to leave with a strong schema in mind for clean organisation of experimental data. + +Full details can be found on the [course webpage](https://software-skills.neuroinformatics.dev/courses/data-management.html) + +## Version control and software development best practices + +The aims of the course are +* to learn how to keep track of changes to your code with Git and GitHub, +* to learn how to work with others on code +* and to get an initial idea of how structure, document and test your code. + +Instructors: Stephen Lenzi, Laura Porta, Alessandro Felder + +## Video-based analysis of animal behaviour + +This course will introduce the theory and practice of tracking animals in videos to quantify their behaviour. +Participants will get to train pose estimation models +with [SLEAP](https://sleap.ai/), analyse pose tracks +with [movement](https://movement.neuroinformatics.dev/), and extract behavioural syllables with [keypoint-moseq](https://keypoint-moseq.readthedocs.io/en/latest/index.html). + +Full details can be found on the [course webpage](video-analysis). + +Instructors: Niko Sirmpilatze, Chang Huan Lo, Sofía Miñano + +## Histology analysis + +Full details can be found on the [course webpage](https://brainglobe.info/community/courses/scheduled/oct-2024/index.html). diff --git a/docs/source/courses/video-analysis.md b/docs/source/courses/video-analysis.md index e04a5c7..8edaa21 100644 --- a/docs/source/courses/video-analysis.md +++ b/docs/source/courses/video-analysis.md @@ -1,28 +1,27 @@ +(#video-analysis)= # Video-based analysis of animal behaviour ## Overview This will be an introductory course on analysing animal behaviour from video data. The course will cover: -- Motivation -- Overview of animal tracking methods and terminology -- Pose estimation and tracking - - Overview of existing tools - - Labeling animal body parts - - Training a model - - Predicting poses - - Evaluating performance -- Analysing pose tracks with Python - - Loading and saving data - - Filtering/smoothing - - Visualising tracks - - Time spent in regions of interest +- Overview of animal tracking methods and terminology. +- **Pose estimation and tracking with [SLEAP](https://sleap.ai/)**. This includes hands-on practice with training a pose estimation model, evaluating its performance, and using it to predict pose tracks in new videos. +- **Analysing pose tracks with [movement](https://movement.neuroinformatics.dev/)**. This includes loading the predicted pose tracks in Python, filtering and smoothing them, computing kinematic variables, and visualising the results. +- **Extracting behavioural syllables with [keypoint-moseq](https://keypoint-moseq.readthedocs.io/en/latest/index.html)**. +:::{note} Training and prediction with pose estimation models are GPU-intensive tasks. Since many students will not have access to a GPU on their own machine, we highly recommend that they also attend the follow-up course on [Running pose estimation on the SWC HPC system](./hpc-behaviour). This will cover how to run pose estimation at scale, using the GPUs of the SWC HPC cluster. +::: + +## Instructors +* [Niko Sirmpilatze ](https://github.com/niksirbi) +* [Chang Huan Lo](https://github.com/lochhh) +* [Sofía Miñano](https://github.com/sfmig) ## Prerequisites Make sure to follow the [steps outlined here](https://github.com/neuroinformatics-unit/course-behavioural-analysis#prerequisites) which will guide you through @@ -31,19 +30,15 @@ setting up your laptop, installing the required software, and downloading the sa If you encounter issues with any of these steps please contact Niko Sirmpilatze in advance of the course. -You may also drop by our office hours at the SWC Library (5th floor) on **Friday Nov 24th, 13:30-16:00**. - ## Materials - [GitHub repository](https://github.com/neuroinformatics-unit/course-behavioural-analysis) - [Slides](https://neuroinformatics.dev/course-behavioural-analysis/#/title-slide) -- [Sample data](https://www.dropbox.com/scl/fo/ey7b6yrqax2olqyv1th7j/h?rlkey=u4wh2gxtbbn4g5o3s55zbx6pp&dl=0) - link expires on 2023-12-22 +- [Sample data](https://www.dropbox.com/scl/fo/ey7b6yrqax2olqyv1th7j/h?rlkey=u4wh2gxtbbn4g5o3s55zbx6pp&st=3yjlu70e&dl=0) Useful links: -- [miniconda](https://docs.conda.io/en/latest/miniconda.html) - [SLEAP](https://sleap.ai/) - [DeepLabCut](https://www.mackenziemathislab.org/deeplabcut) -- [LightningPose](https://github.com/danbider/lightning-pose) - [movement](https://movement.neuroinformatics.dev/) - [keypoint-moseq](https://keypoint-moseq.readthedocs.io/en/latest/index.html) diff --git a/docs/source/index.md b/docs/source/index.md index e767f53..960de9e 100644 --- a/docs/source/index.md +++ b/docs/source/index.md @@ -6,36 +6,20 @@ Computational skills training at the [UCL](https://www.ucl.ac.uk/) the [Neuroinformatics Unit](https://neuroinformatics.dev). ## Upcoming Courses +::::{grid} 1 2 2 2 +:gutter: 3 -No courses are currently scheduled. - -[//]: # (::::{grid} 1 2 2 2) - -[//]: # (:gutter: 3) - -[//]: # () -[//]: # () -[//]: # (:::{grid-item-card} {fas}`server;sd-text-primary` Date) - -[//]: # (:link: courses/course-file) - -[//]: # (:link-type: doc) - -[//]: # () -[//]: # (Course title) - -[//]: # (+++) - -[//]: # (Sainsbury Wellcome Centre, UCL
) - -[//]: # (Room) -[//]: # () -[//]: # (Time) +:::{grid-item-card} {fas}`server;sd-text-primary` September 30th - October 8th 2024 +:link: courses/software-skills +:link-type: doc -[//]: # (:::) +General software skills for systems neuroscience ++++ +Sainsbury Wellcome Centre, UCL
+::: -[//]: # (::::) +:::: ## Previous Courses