# Image Processing with Python

## Overview

Welcome to Image Processing with Python! As computer systems have become faster and more powerful, and cameras and other imaging systems have become commonplace in many areas of life, the need has grown for researchers to be able to process and analyse image data. Considering the large volumes of data that can be involved and the time-consuming nature of manual processing, automating this work as a computer program can be a significant advantage.

This course introduces fundamental concepts in image handling and processing using Python and the [scikit-image](https://scikit-image.org/) library. Learners will gain the skills needed to load images into Python, to select, summarise, and modify specific regions of an image, and to identify and extract objects within an image for further analysis. The course also includes an extra episode on multidimensional image data (3D stacks and timelapses) using the [Napari](https://napari.org/) image viewer.

## Course Objectives

- Load, display, and manipulate digital images with Python using scikit-image and associated libraries.  
- Understand how digital images are represented and stored (pixels, colour channels, and array structures) and how to process them programmatically.  
- Apply basic image processing techniques such as blurring, histogram creation, thresholding and connected component analysis to extract meaningful information from images.
- Develop reproducible Python workflows that automate common image analysis tasks for research applications.
- (if time allows) Analyse and visualise multidimensional data (3D stacks and timelapses) using the Napari image viewer.

## Pre-requisite Knowledge

This course is aimed at researchers who want to learn how to analyse their image data using Python. It assumes you have a very basic working knowledge of Python. Prior attendance at any introductory python course (e.g ["Introduction to Python"](https://coding-for-reproducible-research.github.io/CfRR_Courses/programme_information/intro_to_python.html)) or equivalent independent exposure would be ideal. If you are competent in anouther programming, or sripting, language other than Python this will be sufficient.

## Setup and Installation

Before attending this course, please ensure you have the required software installed. Full instructions can be found on the [course programme information page](../../programme_information/image_processing_with_python.ipynb).
