JuliaImages: image processing and machine vision for Julia
JuliaImages (source code) hosts the major Julia packages for image processing. Julia is well-suited to image processing because it is a modern and elegant high-level language that is a pleasure to use, while also allowing you to write "inner loops" that compile to efficient machine code (i.e., it is as fast as C). Julia supports multithreading and, through add-on packages, GPU processing.
JuliaImages is a collection of packages specifically focused on image processing. It is not yet as complete as some toolkits for other programming languages, but it has many useful algorithms. It is focused on clean architecture and is designed to unify "machine vision" and "biomedical 3d image processing" communities.
These pages are designed to help you get started with image analysis in Julia.
Please help improve this documentation–if something confuses you, chances are you're not alone. It's easy to do as you read along: just click on the "Edit on GitHub" link above, and then edit the files directly in your browser. Your changes will be vetted by developers before becoming permanent, so don't worry about whether you might say something wrong.
- Getting started: Installation and testing your install
- Quickstart
- Images are just arrays
- Array elements are pixels (and vice versa)
- Color conversions are construction/view
- The 0-to-1 intensity scale
- Arrays with arbitrary indices
- Display
- Examples of usage
- Function categories
- Arrays, Numbers, and Colors
- Numbers versus colors
- Colors beyond the pale
- A consistent scale for floating-point and "integer" colors: fixed-point numbers
- More fixed-point numbers
- A note on arithmetic overflow
- Conversions vs. views
- Sharing memory: an introduction to views
- Views for "converting" between fixed-point and raw representations
- Color separations: views for converting between numbers and colors
- Using colorview to make color overlays
- Changing the order of dimensions
- Adding padding
- StackedViews
- Decoupling views from the parent memory
- Composing views (and compact summaries)
- Arrays: more advanced indexing
- ImageAxes.jl
- ImageFiltering.jl
- ImageMetadata.jl
- ImageSegmentation.jl
- Summary and function reference
- Image loading and saving
- Image construction, conversion, and views
- Traits
- Element transformation and intensity scaling
- Storage-type transformation
- Color conversion
- Image algorithms
- Image metadata utilities
- Image segmentation
- ImageFeatures
- Comparison with other image processing frameworks