TINTOlib - Python library for transforming tabular data into synthetic images
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.
🧠 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.
📺 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.
🔧 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:
Models | Class | Hyperparameters |
---|---|---|
TINTO | TINTO() | problem normalize verbose pixels algorithm blur submatrix amplification distance steps option times train_m zoom random_seed |
IGTD | IGTD() | problem normalize verbose scale fea_dist_method image_dist_method error max_step val_step switch_t min_gain zoom random_seed |
REFINED | REFINED() | problem normalize verbose hcIterations n_processors zoom random_seed |
BarGraph | BarGraph() | problem normalize verbose pixel_width gap zoom |
DistanceMatrix | DistanceMatrix() | problem normalize verbose zoom |
Combination | Combination() | problem normalize verbose zoom |
SuperTML | SuperTML() | problem normalize verbose pixels feature_importance font_size random_seed |
FeatureWrap | FeatureWrap() | problem normalize verbose size bins zoom |
BIE | BIE() | 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")
📚 Additional Resources
🧠 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
- Manuel Castillo-Cara et al. TINTO: Converting Tidy Data into Images. SoftwareX. DOI: 10.1016/j.softx.2023.101391
🎓 License
TINTOlib is released under the Apache License 2.0.
🏛️ Institutions