1. Introduction

1.1. Installation

1.1.1. Platforms and options

informatics is officially support the following desktop platforms:

  • Windows

  • Linux

  • MacOS

Ensure Python (≥ 3.9) is installed. Install informatics via pip-based installer as appropriate:

Install informatics with basic dependent components.

(.venv) $ pip install informatics

Install basic informatics with instance data.

(.venv) $ pip install informatics[ins]

Install basic informatics with visualization dependencies. Backend of visualization utilities requires at least one of PySide2, PySide6, PyQt5, PyQt6. PySide6 is suggested. For functions who using spatial rendering, PyOpenGL is necessary as well.

(.venv) $ pip install informatics[vis]

Install basic informatics with medical image related dependencies.

(.venv) $ pip install informatics[med]

Install basic informatics with configurable neural network with dynamic architecture. For normal use, torch is required.

(.venv) $ pip install informatics[net]

1.1.2. Check installation

To check whether informatics was installed, run following code in Python or command line shell:

import info
print(info.__version__)
(.venv) $ python -c "import info; print(info.__version__)"

Version number will in the prompt if informatics has been properly installed, otherwise error message.

1.1.3. Upgrade for options

Default installation only consist of basic component. If optional dependencies are required to be activated, re do the pip installer with its identifier (e.g. pip install informatics[ins] informatics[vis] for integrating instance data and visualization tools, whether basic informatics was installed already or not). Notably, the local version must keep the identical as one of remote.

Or alternatively, using pip installer to install missing module(s) when ImportError raised in the prompt.

1.2. Overview

Informatics is designed to enable users to solve complex problems in science, engineering, and other domains efficiently and accurately. Its powerful capabilities are achieved through a combination of cutting-edge software engineering techniques and the elegance of Python’s functional programming paradigm. The strength of highly modular and extensible architecture allows users to quickly assemble and customize data processing pipelines to meet their specific needs. Whether it’s data cleaning, transformation, analysis, or visualization, informatics provides a rich set of tools and functions to facilitate these tasks.

It is in active development, in order to satisfy increasing requests in scientific computation.

1.2.1. Featured as

Informatics is currently featured:

  • Powerful integration capability for various utilities (e.g. functions, frames, packages, and etc.) in Python ecosystem.

  • Universal processing interface designed in high dimensionality to guarantee consistency of calling for different types of data.

  • Scripting on basis of functional programming paradigm, with properties of robust performance, and easy decoupling for extension.

  • Intuitive combination of data processing units, for fast experiments, validation, or building for upper applications.

  • Documentation in details for not only basic functions, but the tutorials, interpretation for essential concepts, examples of applications, and such like.

1.2.2. Simple examples

Critical structure called Unit can wrap any of the callable object in Python. Data processing can be implemented via functional programming scripting. Therefore with various units (e.g. u1, u2 with different arguments), it is able to combine them as desired:

Code 1.1 example of unit combination
p = u1 >> u2

Auto test the pipe p for determining its optimal argument combination:

Code 1.2 example of auto test
param_options = {
    'u1_arg1': [...],
    'u1_arg2': [...],
    ...,
    'u2_arg4': [...],
    'u2_arg5': [...],
}

functest(data=p, params_pool=param_options)

Or apply that pipe, as well as its optimal argument configuration from (or to) others’ works:

Code 1.3 example of reuse pipe
from other_libs import pipe, opt_config
my_unit = ...
my_pipe = pipe.shadow(**opt_config) >> my_unit

Authors:

Chen Zhang

Version:

0.0.5

Created on:

Apr 25, 2023