TINTOlib - Python library for transforming tabular data into synthetic images

TINTOlib logo

TINTOlib — Tabular Data → Synthetic Images

Open-source Python library to convert tidy tabular data into synthetic images and train CNNs, ViTs, and hybrid architectures.

🎉 New Free Course on Udemy! 🎉

We’ve just launched a 100% free course on Udemy about using TINTOlib and developing Hybrid Neural Networks.

Learn how to turn tabular data into synthetic images and apply CNNs, ViTs, and hybrid architectures.

👉 Access the Course on Udemy

TINTO Logo

🧠 Overview

TINTOlib transforms tidy tabular data into synthetic images, enabling deep learning with CNNs and Vision Transformers (ViTs) for classification and regression. It bridges structured data and image-based learning, and supports hybrid models combining both worlds.

📦 pip install TINTOlib 🖥️ Linux / Windows / macOS 🐍 Python 3.7+ 🧪 CSV / Pandas DataFrame

📺 VideoTutorial Course (English/Spanish)

Prefer not to register on Udemy or looking for the English version? Follow the full bilingual course on GitHub, with videos and practical notebooks covering CNNs, ViTs, and hybrid architectures.

Access the Course on GitHub

🔧 Features

  • Input formats: CSV or Pandas DataFrame.
  • Designed for tidy data (target column at the end).
  • Output: grayscale images produced by reduction/transformation methods.
  • Compatible with Linux, Windows, macOS.
  • Requires Python 3.7+.

🧪 Supported Models

Supported image transformation models include:

ModelsClassHyperparameters
TINTOTINTO()problem normalize verbose pixels algorithm blur submatrix amplification distance steps option times train_m zoom random_seed
IGTDIGTD()problem normalize verbose scale fea_dist_method image_dist_method error max_step val_step switch_t min_gain zoom random_seed
REFINEDREFINED()problem normalize verbose hcIterations n_processors zoom random_seed
BarGraphBarGraph()problem normalize verbose pixel_width gap zoom
DistanceMatrixDistanceMatrix()problem normalize verbose zoom
CombinationCombination()problem normalize verbose zoom
SuperTMLSuperTML()problem normalize verbose pixels feature_importance font_size random_seed
FeatureWrapFeatureWrap()problem normalize verbose size bins zoom
BIEBIE()problem normalize verbose precision zoom

🚀 Getting Started

Install via pip:

pip install TINTOlib
  • Use requirements.txt for the base environment.
  • Use requirements-example.txt for full deep learning workflows.

🧩 Example

from TINTOlib.tinto import TINTO

# Create and run TINTO on your tidy DataFrame (target column last)
model = TINTO(problem="supervised", blur=True, pixels=64, random_seed=42)
model.fit_transform(data, folder="outputs")

🧠 Research and Software Publications

📄 Research Articles

  • Manuel Castillo-Cara et al. MIMO-Based Indoor Localisation with Hybrid Neural Networks. IEEE JSTSP. DOI: 10.1109/JSTSP.2025.3555067
  • Reewos Talla-Chumpitaz, Manuel Castillo-Cara et al. Blurring Image Techniques for Bluetooth-based Indoor Localisation. Information Fusion. DOI: 10.1016/j.inffus.2022.10.011

💾 Software Articles

🎓 License

TINTOlib is released under the Apache License 2.0.

🏛️ Institutions

Ontology Engineering Group UPM UNED UCLM