# Developer Documentation

The following sections describe various things that are useful to know when working with Bio-Formats. It is recommended that you obtain the Bio-Formats source by following the directions in the Source code section. Referring to the Javadocs as you read over these pages should help, as the notes will make more sense when you see the API.

For a complete list of supported formats, see the Bio-Formats supported formats table.

For a few working examples of how to use Bio-Formats, see these Github pages and the bio-formats-examples repository.

## Introduction to Bio-Formats

- Overview for developers
- Obtaining and building Bio-Formats
- Component overview
- Reading files
- Writing files

## Using Bio-Formats as a Java library

- Using Bio-Formats as a Java library
- Units of measurement
- Exporting files using Bio-Formats
- Further details on exporting raw pixel data to OME-TIFF files
- Tiled reading and writing in Bio-Formats
- Working with whole slide images
- Pyramids in OME-TIFF
- Internal OMERO pyramid format
- In-memory reading and writing in Bio-Formats
- Logging
- Converting files from FV1000 OIB/OIF to OME-TIFF
- Using Bio-Formats in MATLAB
- Using Bio-Formats in Python
- Using Bio-Formats in R
- Using Bio-Formats in .NET
- Interfacing with Bio-Formats from non-Java code

See also

Additional reader and writer options

## Using Bio-Formats as a native C++ library

Note

See the OME-Files C++ downloads page for more information.

## Contributing to Bio-Formats

- Code formatting
- Testing code changes
- Generating test images
- Writing a new file format reader
- External file format readers
- Adding format/reader documentation pages
- Bio-Formats service and dependency infrastructure
- Scripts for performing development tasks

See open Trac tickets for Bio-Formats and the various Trello boards for information on work currently planned or in progress.

For more general guidance about how to contribute to OME projects, see the Contributing developers documentation.