IOLink  IOL_v1.1.0_release
Introduction

IOLink is a library developed and used by Thermofisher Scientifics software teams for Images manipulation.

What is IOLink for?

IOLink is a DataModel.

Why do I need a DataModel?

DataModel is the solution to problems observed in any software compagnies whose products:

  • must handle huge data of any type, of any source
  • must efficiently exchange data with each other
  • must master their ressources management
Software package without DataModel

Without any DataModel, each product can have its own reader to extract data and a copy is probably done in memory for processing. And if the result of processing must be exchanged with another product, adapters can be needed to make data compatible and a copy must probably be done again.

A DataModel is the basis to bring homogeneity into your software pipeline, and IOLink is the response to this need.

The goal is to unify data access and exchange between applications, and also to avoid useless memory copies.

Software package using IOLink

IOLink is part of IOSuite project, a set of tools based on IOLink.

For now, IOSuite is composed of IOLink and IOFormat (library to handle file formats).

Overview IOSuite

Difference with other DataModels

IOLink simply provides interfaces to unify the access to data. These interfaces are generic but simple, wrappable, and can respond to most of user cases. IOLink provides a generic implementation, but you can also decide to create your own implementation from these interfaces, dedicated to your own application domain, and still remain compatible with external tools also based on IOLink.

IOLink is also interesting for its capacity to handle data directly from a file or a server. It does not force you to load your whole data in memory.

What is User Guide for ?

This user guide is for any developers:

  • who directly want to use IOLink datamodel into their own software application
  • who use a software application providing IOLink in its API

It explains IOLink basic concepts, give an overview of available features, and proposes code snippets to ease its use.

User guide organization

Document is composed of following sections:

  • Capacities: IOLink development is still continuing, and you will find here a status of available features, and possible future features.
  • Overview: You will find a quick overview of IOLink concepts. Quick to read, it should permit to give you an idea of IOLink goals.
  • Installation: If you decide to test IOLink, this chapter is for you, and you should be able to quickly integrate IOLink in your project.
  • View concept: Mandatory chapter if you want to look deeper inside IOLink main concept. No code snippet here, but a complete explaination of Views possibilities.
  • DataStorage and DataAccess: Another mandatory chapter if you want to master your data consumption
  • Getting started: a fast entrance inside IOLink usage. You will be able to handle IOLink views for most of common operations.
  • Fundamentals: This chapter will always be in progress to be enriched with new features. If you have any questions about 'how to do something', this should be very helpful.
  • Custom implementation: Chapter to the attention of those who want/need to re-implement IOLink interfaces