Skip to main content
Ctrl+K
Logo image Logo image

Site Navigation

  • Trailer: Bio-image Analysis with Python
  • Setting up your computer
  • Python basics
  • Writing sustainable code
  • Image analysis basics
  • Image file formats
  • Remote files
  • Machine learning basics
  • Image visualization in 3D
  • Image filtering
  • Image deconvolution
  • Spatial transforms
  • Image segmentation
  • Machine learning for image segmentation
  • Deep Learning based image segmentation
  • Large Language Vision Models
  • Segmentation post-processing
  • Blob detection
  • Surface processing
  • Feature extraction
  • Neighborhood analysis in tissues
  • Cell classification
  • Colocalization
  • Algorithm validation
  • Explainable AI / SHAP
  • Simulating data
  • Advanced python programming
  • GPU accelerated image processing
  • Graphical user interfaces
  • Tiled image processing
  • Batch processing
  • Timelapse analysis
  • Parameter optimization
  • Prompt engineering
  • Workflow automation
  • Tabular data wrangling
  • Querying databases
  • Descriptive statistics
  • Clustering
  • Plotting
  • Data visualization
  • Glossary
  • Imprint

Site Navigation

  • Trailer: Bio-image Analysis with Python
  • Setting up your computer
  • Python basics
  • Writing sustainable code
  • Image analysis basics
  • Image file formats
  • Remote files
  • Machine learning basics
  • Image visualization in 3D
  • Image filtering
  • Image deconvolution
  • Spatial transforms
  • Image segmentation
  • Machine learning for image segmentation
  • Deep Learning based image segmentation
  • Large Language Vision Models
  • Segmentation post-processing
  • Blob detection
  • Surface processing
  • Feature extraction
  • Neighborhood analysis in tissues
  • Cell classification
  • Colocalization
  • Algorithm validation
  • Explainable AI / SHAP
  • Simulating data
  • Advanced python programming
  • GPU accelerated image processing
  • Graphical user interfaces
  • Tiled image processing
  • Batch processing
  • Timelapse analysis
  • Parameter optimization
  • Prompt engineering
  • Workflow automation
  • Tabular data wrangling
  • Querying databases
  • Descriptive statistics
  • Clustering
  • Plotting
  • Data visualization
  • Glossary
  • Imprint
Logo image Logo image
Ctrl+K
  • Bio-image Analysis Notebooks

Basics

  • Trailer: Bio-image Analysis with Python
  • Setting up your computer
  • Python basics
    • Python code in Jupyter notebooks
    • Basic math in python
    • Pitfalls when working with Jupyter notebooks
    • Basic types in python
    • Lists and tuples
    • Cropping lists
    • Sorting lists
    • Dictionaries
    • Conditions
    • Loops
    • Functions
    • Importing functions and packages
  • Writing sustainable code
    • Writing good code
    • Prevent magic numbers
    • Divide and rule
    • Don’t repeat yourself
    • Keep it short and simple
  • Image analysis basics
    • Images are arrays of numbers
    • Working with images
    • Brightness and Contrast
    • Computing with images
    • Cropping images
    • Indexing numpy arrays
    • Multi-channel image data
    • Image Normalization
  • Image file formats
    • Opening image data
    • Reading files with AICSImageIO
    • Opening large CZI files with AICSImageIO
    • Opening CZI files
    • Opening LIF files
    • Loading multi-channel / multi-position folders of tif-files
    • Tiled image file formats: zarr
    • Pros and cons of image file formats
  • Remote files
    • Accessing image files in the nextcloud
    • Exploring the BioImage Archive
    • Exploring the Image Data Resource
    • Accessing meta data on Zenodo
    • Reading meta data from DOI.org
  • Machine learning basics
    • Supervised machine learning
    • Unsupervised machine learning
    • Scaling
  • Image visualization in 3D
    • Multidimensional image stacks
    • Inspecting 3D image data with pyclesperanto
    • Interactive image visualization with napari
  • Image filtering
    • Image Processing Filters
    • Filter overview
    • Convolution
    • Noise removal filters
    • Background removal filters
    • Divide by Gaussian
    • Edge detection
    • Processing images using SimpleITK
  • Image deconvolution
    • An introduction to image deconvolution
    • Determining the point-spread-function from a bead image by averaging
    • Richardson-Lucy-Deconvolution on OpenCL-compatible GPUs
  • Spatial transforms
    • Coordinate systems
    • Slicing and cropping
    • Scaling
    • Affine transforms using scikit-image
    • Affine transforms using Scipy
    • Affine transforms using cupy
    • Affine transforms using clesperanto
    • Scaling coordinate lists
    • Down-scaling and denoising
    • Stitching images

Image Segmentation

  • Image segmentation
    • Image segmentation
    • Terminology
    • Image Binarization
    • Thresholding
    • Split touching objects
    • Label images
    • Gauss-Otsu-labeling
    • Touching objects labeling
    • Voronoi-Otsu-labeling
    • Voronoi-Otsu-Labeling on binary images
    • Eroded Otsu-labeling
    • Seeded watershed for membrane-based cell segmentation
    • Preventing leaking labels
    • 3D Image Segmentation
  • Machine learning for image segmentation
    • Pixel classification using Scikit-learn
    • Object segmentation on OpenCL-compatible GPUs
    • Pixel classification on OpenCL-compatible GPUs
    • Interactive pixel classification and object segmentation in Napari
    • Pixel classification in multi-channel images
    • Probability maps
    • Training pixel classifiers from folders of images
    • Generating feature stacks
    • Selecting features
  • Deep Learning based image segmentation
    • Image segmentation with StarDist
    • Image Segmentation with CellPose
    • Image Segmentation with CellPose-SAM
    • Quick start with micro-sam
  • Large Language Vision Models
    • Vision Large Language Models for Counting objects
  • Segmentation post-processing
    • Post-processing binary images using morphological operations
    • Label image refinement
    • Smoothing labels
    • Splitting touching objects
    • The mode filter for correcting semantic segmentation results
    • Merging labels
    • Merging annotated labels
    • Merging labels according to centroid-distances
    • Merging labels according to edge-to-edge-distances
    • Merging objects using machine learning
    • Remove labels on image edges
    • Select labels based on their size
    • Select labels using machine learning
    • Identifying labels which touch the background
    • Modifying borders of tissues
    • Sequential object (re-)labeling
    • Edges of labels
    • Inner and outer cell borders
    • Post-processing for membrane-based cell segmentation
    • Mimicking ImageJ’s watershed algorithm
    • Binary Image Skeletonization
  • Blob detection
    • Local maxima detection
    • Blob detection
  • Surface processing
    • Creating surfaces
    • Visualizing surfaces
    • Saving and loading surfaces
    • Smoothing and simplifying surfaces
    • Connected component labeling on surfaces
    • Converting points and surfaces
    • From surface data to image data
    • Surface measurements
    • Surface quality measurements using vedo in napari
    • Surface vertex classification

Quantitative analysis

  • Feature extraction
    • Quantitative image analysis
    • Counting bright objects in images
    • Basic statistics with pyclesperanto
    • Statistics using Scikit-image
    • Statistics using SimpleITK
    • Statistics using Nyxus
    • Comparison of measurements from different libraries
    • Measuring intensity on label borders
    • Descriptive statistics of [many] lines in an image
    • Shape descriptors based on neighborhood graphs
    • Measuring distances between objects
    • Measure distance to a center line
    • Measure distance along a center line
  • Neighborhood analysis in tissues
    • Neighborhood definitions
    • Count touching neighbors
    • Statistics of neighbors
    • Regional properties of label
    • Draw distance-meshes between neighbors
    • Label touch count and touch portion
    • Measure the distance to cells in another label image
    • Count proximal labels in an other label image
    • Neighbor meshes in three dimensions
    • Label neighbor filters
  • Cell classification
    • Object classification on OpenCL-compatible GPUs
    • Interactive object classification in Napari
    • Random forest decision making statistics
    • Object classification with scikit-learn
    • Object classification with APOC and SimpleITK-based features
  • Colocalization
    • Counting nuclei according to expression in multiple channels
    • Differentiating nuclei according to signal intensity
    • Distance-based colocalization
  • Algorithm validation
    • Image segmentation quality measurements
    • Metrics to investigate segmentation quality
    • Validation of spot counting pipelines
    • Scenario: Comparing different implementations of the same thresholding algorithm
    • Visual labeling comparison
    • Quantitative labeling comparison
    • Jaccard-Index versus Accuracy
  • Explainable AI / SHAP
    • Pixel classification explained with SHAP
    • Explaining Object classification using SHAP
  • Simulating data
    • Simulation of image formation + image restoration
    • Counting cell neighbors in tissues

Advanced techniques

  • Advanced python programming
    • Custom libraries
    • Functional parameters
    • Partial functions
    • Parallelization
    • Parallelization using numba
  • GPU accelerated image processing
    • clEsperanto
    • Why GPU-acceleration makes sense
    • Tracing memory consumption
    • Further reading
  • Graphical user interfaces
    • Interactive image visualization with napari
    • Interactive parameter tuning with napari and magicgui
    • Visualizing region properties in napari
    • Tribolium embryo morphometry over time in Napari
    • Interactive cropping with napari
  • Tiled image processing
    • Tiled image processing, a quick run-through
    • Tiling images - the naive approach
    • Tiling images with overlap
    • Connected component labeling in tiles
    • Measurements in objects in tiled images
    • Map area of objects in tiles
    • Counting nuclei in tiles
  • Batch processing
    • How process files in a folder
    • Processing timelapse data
    • zip for Processing Paired Folders
  • Timelapse analysis
    • Measuring features in a time-lapse dataset
    • Cell tracking
  • Parameter optimization
    • Optimization basics
    • Optimize segmentation algorithms
    • Optimizing parameters for membrane-image based cell segmentation
  • Prompt engineering
    • Prompting chatGPT
    • Prompting for text
    • Generating images using DALL-E
    • Generating images using Stable Diffusion
    • Generating Magnetic Resonance images using DALL-E
    • Generating code
    • Generating code for processing images
    • Generating advanced image analysis code
    • Prompting tasks using LangChain
    • Prompting bio-image analysis tasks using LangChain
    • Allowing language models to choose the right algorithm
    • BIA Bob
    • Bug fixing
    • Documenting code
    • Prompting tasks for pandas
    • Inpainting using Dall-E
    • Inpainting using Stable Diffusion
    • Image variations using Stable Diffusion
    • Image editing using instruct-pix2pix
    • Image variations using Dall-E
    • Large language model fine tuning
    • Versions of libraries

Workflow automation

  • Workflow automation
    • The Napari Assistant
    • Generating Jupyter Notebooks from the Napari Assistant
    • Workflows in napari

Tabular data, plots and statistics

  • Tabular data wrangling
    • Introduction to working with DataFrames
    • Exploring tabular data
    • Appending tables
    • Selecting rows and columns in pandas DataFrames
    • Handling NaN values
    • Summarizing subsets of data
    • Pivot tables
    • Tidy-Data
  • Querying databases
    • Querying databases using SQL
    • Combining tables
    • Summarizing measurements
  • Descriptive statistics
    • Descriptive statistics
    • Descriptive statistics of labeled images
    • Method comparison
    • Bland-Altman analysis to compare segmentation algorithms
  • Clustering
    • Clustering - a quick walkthrough
    • Clustering with UMAPs
    • Interactive dimensionality reduction and clustering
  • Plotting
    • Plotting with Matplotlib
    • Introduction to Seaborn
    • Plotting Distributions with Seaborn
    • Multivariate views
    • Feature correlation
    • Visualizing relationships between feature spaces
  • Data visualization
    • Overlay texts on images
    • Parametric maps
    • Quantitative maps from neighbor statistics

Appendix

  • Glossary
  • Imprint
  • repository
  • open issue
  • .md

Neighborhood analysis in tissues

Neighborhood analysis in tissues#

See also

  • Spatial organization of Colon Crypts from Second Harmonic Generation (SHG) images of fibrillar collagen of mouse colons

  • squidpy

previous

Measure distance along a center line

next

Neighborhood definitions

By Robert Haase, Guillaume Witz, Miguel Fernandes, Marcelo Leomil Zoccoler, Shannon Taylor, Mara Lampert, Till Korten, Markus Ankenbrand & add-your-name-here-by-sending-a-pull-request-containing-a-notebook

Last updated on None.

Copyright: Licensed CC-BY 4.0 and BSD3 unless mentioned otherwise. Contribution and feedback welcome.