Versatile SDK for Machine Vision from MRTech

 

IFF SDK makes images flow, so you can focus on your ultimate goal!

Try IFF SDK right now

MRTech IFF SDK (Image Flow Framework SDK) is a powerful cross-platform toolkit that facilitates the development of high-performance machine vision and image processing applications. The core of IFF SDK was initially developed by MRTech in 2016 and has been continuously improved and used in many projects ever since.

The main feature of IFF SDK is delivering images to the customer’s application code in the most efficient way. The toolkit helps achieve maximum performance for any configuration of the customer’s image processing system.

Key features

 

  • Production-ready, high-quality code, field-proven in multiple real-life projects
  • High-performance image processing with low latency and low overhead
  • SDK architecture that makes for easy development and customization of the target application
  • Upon request, MRTech provides consulting services and technical support (including implementation assistance)

The latest release: IFF SDK v2.3 Mantis

August, 2026

Basic Functionality

 

  • Textual descriptions of pipeline configurations to build image processing workflows
  • Exporting and importing images from the SDK pipeline to the customer application
  • Controlling acquisition and processing parameters at runtime
  • Seamless integration with the target application using C or Python API as well as REST HTTP interface to control image processing
  • Performing accelerated image processing on dedicated and embedded NVIDIA GPUs
  • Providing input from multiple machine vision cameras with PCIe, USB3, Ethernet, and MIPI interfaces

Processing modules:

  • FFC, white balance, histogram
  • Auto-exposure, white balance
  • Gamma correction, LUT
  • High performance demosaicing
  • Spatial denoiser
  • Image cropping, resizing
  • Color space transformation
  • Color correction

Control interfaces:

  • JSON configuration
  • C/Python API
  • HTTP REST API

Compression and decompression:

  • H.264, H.265
  • JPEG
  • JPEG2000

Input capabilities:

  • Machine vision cameras
  • RTSP video source
  • File data input

Output capabilities:

  • TIFF/DNG image recording
  • RTSP video stream, WebRTC
  • Export to user applications

 

Supported Hardware

 

  • Cameras:
    • Machine vision cameras from XIMEA, Basler, and other vendors
    • MIPI sensors

 

 

  • Platforms and operating systems:
    • 64-bit Intel x86, Linux and Windows
    • 64-bit ARM, NVIDIA Jetson family, Linux
  • Acceleration devices:
    • CUDA processing on NVIDIA GPUs, including Jetson platform
    • Hardware video encoding/decoding on NVIDIA GPUs and Jetsons

 

How it works

 

Follow these steps to tap into all the benefits IFF SDK has to offer:

1. Select cameras and system hardware

This step is one of the most important in creating a machine vision system. The right choice of equipment is crucial for project success.

Please contact us if you have any questions. The MRTech team happily shares its extensive hands-on experience, know-hows, and best practices to help our customers successfully implement even the most complex machine vision projects.

2. Order and get the IFF SDK software package with:

  • Binary libraries for your system configuration
  • C/C++ header files, Python interface module
  • Sample applications with the source code
  • Technical manual in PDF and HTML formats
    The SDK manual is also available on our GitHub account.

The IFF SDK package under a Trial license for evaluation can be provided upon request.

3. Read the technical manual to explore how to use the IFF SDK

The technical manual contains a detailed description of the library components and explains how to use the SDK efficiently.

4. Try out sample applications included in the SDK software package and available on GitHub:

  • farsight is the first and most general sample application of the SDK.

    It supports various functionalities, including acquisition from a machine vision camera, color pre-processing, auto-exposure and white balance, writing to disk, H.265 encoding, and RTSP streaming.

  • imagebroker is another sample application that shows how to export images to the user code across IFF SDK library boundaries. Additionally, it provides an example code to render an image on the screen using OpenCV.

5. Design the required image processing pipeline using IFF SDK components and describe the pipeline in the JSON format.

The figure on the right represents an example pipeline.

6. Build your own application

Below is an example of a basic C application that illustrates the user-friendly, low-code approach implemented in IFF SDK interface:


iff_initialize(base_cfg);
void* handle = iff_create_chain(chain_cfg, error_handler);
iff_execute(handle, "{\"writer\":{\"command\":\"on\"}}");

 

IFF SDK offers high-performance solutions when it really matters

High speed imaging

 

  • High-quality, authentic color
  • Image delivery for AI:
    • Full HD at 4000+ FPS
    • 4K at 1000+ FPS
    • 8K at 250+ FPS

Low latency streaming

 

  • H.264 / H.265 encoding
  • RTSP / WebRTC streaming
  • Glass-to-Glass latency:
    • less than 25 ms for 1080p
    • less than 50 ms for 4K

High-speed recording

 

  • Multiple camera systems
  • More than 10 GB/s bandwidth
  • No frame loss
  • Live preview
  • High-quality post-processing

to get you started

 

  • C library interface
  • 13 API functions
  • Windows, Linux
  • 64-bit x86, 64-bit ARM
  • Ideal for NVIDIA Jetson

Image delivery

Low latency streaming

High speed recording

Technical manual

 

10 reasons to use IFF SDK in your project:

 

1. Your project requires a top-end performance of the camera system. With IFF SDK you will be able, for example, to capture raw 8K 10-bit images at 115 FPS and process them (applying black level subtraction, histogram calculation, white balance, demosaicing, color correction, etc.) in real-time or write image streams from two such cameras (in raw, TIFF or DNG formats) to RAID storage with a 10 GB/s throughput and without frame loss.

2. You need ultra-low processing and streaming latency, unnoticeable to the human eye. With IFF SDK it is possible to achieve 35ms Glass-to-Glass latency by receiving FullHD raw images from a camera, processing (including H.265 encoding) on a NVIDIA Jetson Orin system and streaming to a receiving computer (also, optionally, powered by IFF SDK) using the RTSP (or alternatively WebRTC) network protocol.

3. You want to quickly get first results. Your project can get a head start by re-using the source code and configuration files of the IFF SDK sample applications. There are examples for image acquisition, color pre-processing, writing to disk, H.264/H.265 encoding, RTSP/WebRTC streaming, integrating the processing pipeline with custom OpenCV code (on-screen rendering implementation is provided).

4. You need excellent image quality and faithful colors. IFF SDK has high-performance modules for high-quality demosaicing, color processing (DNG-compatible) and denoising. A handy tool to create DNG color profiles (DCP) is also provided with the IFF SDK package.

5. You want freedom to choose a camera manufacturer for your system or maybe even a possibility to easily swap camera models without changing your code. IFF SDK supports a variety of machine vision cameras with USB3, Ethernet and PCIe interfaces using GenTL or vendor APIs. IFF SDK also works with MIPI cameras through Video4Linux2 API and supports the GMSL camera interface. In general only configuration file requires adjustment for specific camera model, while code stays the same. Of course your system can also have multiple (potentially different) cameras, limited only by the performance of your hardware.

6. You want an option to have either real-time (with input directly from the camera) or offline processing (with input from the files). IFF SDK supports various input pixel formats, such as 8/10/12/14/16-bit raw or RGB, and output image formats, such as H.264/H.265 and TIFF/DNG/EXR (compatible, for example, with professional video editing application DaVinci Resolve).

7. IFF SDK is easy to learn, as it has a simple C API with just five basic functions plus an HTTP interface to control the image processing pipeline and a configuration file in a JSON format. A comprehensive technical manual and several quick-start and how-to articles are also available online on the MRTech website, which guarantees a quick learning curve.

8. You want a cross-platform solution in case you deploy your code on multiple platforms or for easier and faster code development. For example, you can develop your machine vision application under Windows and deploy it on a Linux machine or NVIDIA Jetson module.

9. You want production-ready code right from the start, allowing fast transition from prototype stage to deployment. High quality of the IFF SDK code is ensured by continuous testing in-house and field-proven in multiple real-life projects.

10. You need comprehensive technical support for your image acquisition and processing tasks. Our MRTech team provides extensive IFF SDK support, assistance in implementation and pre-project consulting, all powered by our know-how accumulated over 10+ years of experience in machine vision field.

 

To summarise, IFF SDK makes images flow so you can focus on your ultimate goal!

MRTech GitHub account

For more information, follow the links below or contact us via email:

 

  • MRTech GitHub account
  • IFF SDK product brief
  • IFF SDK manual
  • IFF SDK benchmarks
  • License options and prices

 

Product brief

Technical manual

Benchmarks

License options and prices

IFF SDK test drive

MRTech services

MRTech solutions