Cos'è soppy?

Sippy è un framework Python open-source per la lettura, la scrittura e la manipolazione di formati di file scientifici. Fornisce un'interfaccia unificata per interagire con diversi formati, semplificando la gestione dei dati scientifici in Python.

Funzionalità Principali:

  • Supporto multi-formato: Sippy supporta un'ampia gamma di formati di file scientifici, tra cui DICOM, NIfTI, Analyze, VTK, e molti altri. Questo permette di lavorare con dati provenienti da diverse sorgenti in modo coerente.

  • API unificata: Sippy fornisce una singola API per accedere e manipolare i dati, indipendentemente dal formato del file sottostante. Ciò semplifica lo sviluppo di applicazioni scientifiche poiché il codice può essere scritto in modo indipendente dal formato specifico del file.

  • Manipolazione dei dati: Sippy offre funzionalità per la manipolazione dei dati, come la conversione tra formati, il ridimensionamento delle immagini, la correzione dell'orientamento e l'applicazione di filtri.

  • Integrazione con NumPy: Sippy si integra perfettamente con NumPy, consentendo di utilizzare le potenti funzionalità di NumPy per l'analisi e l'elaborazione dei dati. NumPy

  • Estensibilità: L'architettura di Sippy è progettata per essere estensibile, permettendo agli utenti di aggiungere supporto per nuovi formati di file o di personalizzare il comportamento esistente.

Argomenti Importanti:

  • Installazione: Sippy può essere facilmente installato utilizzando pip: pip install sippy.

  • Lettura di file: Utilizzare la funzione sippy.read(filename) per leggere un file. Sippy rileva automaticamente il formato del file.

  • Scrittura di file: Utilizzare la funzione sippy.write(filename, data, metadata) per scrivere un file. È necessario specificare il formato di output desiderato.

  • Metadati: Sippy permette di accedere e manipolare i metadati associati ai file.

Esempio:

import sippy as sp

# Leggi un file DICOM
immagine = sp.read("immagine.dcm")

# Accedi ai dati dell'immagine come array NumPy
dati = immagine.asarray()

# Accedi ai metadati
metadati = immagine.metadata

# Scrivi l'immagine in formato NIfTI
sp.write("immagine.nii.gz", dati, metadati, format="nifti")