Converti xdf in pdf

Converti XDF in PDF

Converti LabRecorder e altre varianti XDF in report PDF a layout fisso.

Crea file PDF online

Non sappiamo ancora leggere i file XDF, quindi questa conversione non è disponibile. Se puoi esportare il tuo lavoro in uno di questi formati o in altri, ne ricaviamo un PDF:

Come convertire xdf in pdf file

  • Documenti

Un PDF è utile quando una registrazione XDF deve essere condivisa come report a layout fisso, stampata o archiviata per la revisione. Poiché i file XDF contengono solitamente misurazioni anziché pagine, la conversione richiede l'applicazione o il flusso di lavoro di analisi che riconosce la variante XDF specifica.

Cos'è il formato XDF

XDF è un'estensione di file ambigua. L'uso scientifico più comune è l'Extensible Data Format utilizzato dalle applicazioni Lab Streaming Layer (LSL), come LabRecorder. Questi file possono contenere stream sincronizzati di EEG, ECG, movimento, eye-tracking, audio e marcatori di eventi con timestamp e metadati.

Un file XDF LSL memorizza dati di serie temporali, non pagine di documenti, font o un layout predefinito. Anche altri prodotti utilizzano .xdf, inclusi i sistemi correlati a Microsoft R come RevoScaleR. Un file XDF proveniente da un prodotto può non essere leggibile dal software progettato per un altro, quindi identifica l'applicazione che lo ha creato prima di scegliere un convertitore.

Cos'è il formato PDF

PDF è un formato di documento a layout fisso che conserva dimensioni delle pagine, testo, grafica e—in molte esportazioni—informazioni sui font tra diversi sistemi operativi. È adatto alla stampa e alla distribuzione, ma non è un sostituto senza perdita di dati della registrazione di origine: campioni, timestamp, metadati, etichette dei canali e marcatori di eventi possono essere tracciati in modo selettivo, riepilogati o omessi.

Come convertire un file LSL XDF

Non esiste un convertitore universale con conversione in un clic per i file XDF di LabRecorder, perché l'origine contiene stream anziché un layout di documento. Un metodo desktop affidabile consiste nel leggere gli stream con pyxdf, tracciarli con Matplotlib e scrivere i grafici in un PDF.

  1. Installa Python 3 e i pacchetti richiesti con python -m pip install pyxdf matplotlib numpy.
  2. Salva il codice seguente come xdf_to_pdf.py e sostituisci input.xdf con il nome del file di origine.
  3. Esegui python xdf_to_pdf.py. Lo script crea xdf_report.pdf, aggiungendo una pagina per ogni stream numerico.
import numpy as np
import pyxdf
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

streams, _ = pyxdf.load_xdf('input.xdf')

with PdfPages('xdf_report.pdf') as pdf:
    for stream in streams:
        samples = np.asarray(stream.get('time_series'))
        times = np.asarray(stream.get('time_stamps'))
        info = stream.get('info', {})
        name_values = info.get('name', ['Unnamed stream'])
        name = name_values[0] if name_values else 'Unnamed stream'

        if samples.size == 0 or samples.dtype.kind not in 'iuf':
            continue
        if samples.ndim == 1:
            samples = samples[:, None]
        if times.size != samples.shape[0]:
            continue

        times = times - times[0]
        figure, axes = plt.subplots(
            samples.shape[1], 1, sharex=True, figsize=(11.69, 8.27), squeeze=False
        )
        for channel, axis in enumerate(axes[:, 0]):
            axis.plot(times, samples[:, channel], linewidth=0.6)
            axis.set_ylabel('Ch ' + str(channel + 1))
            axis.grid(True, linewidth=0.3)
        axes[-1, 0].set_xlabel('Seconds from first sample')
        figure.suptitle(name)
        figure.tight_layout()
        pdf.savefig(figure)
        plt.close(figure)

Questo produce un report visivo, non un'esportazione di dati pronta per l'analisi. Per registrazioni lunghe, traccia intervalli di tempo selezionati o canali rappresentativi; tracciare ogni campione può creare PDF lenti da generare e di dimensioni eccessive. Aggiungi esplicitamente unità, nomi dei canali, marcatori di eventi e metadati della registrazione quando sono necessari nel report.

Altri flussi di lavoro desktop

Per registrazioni EEG e altre registrazioni fisiologiche, esamina il file con uno strumento scientifico compatibile con XDF, come MNE-Python quando il relativo lettore XDF è disponibile, oppure caricalo con pyxdf e genera figure o un report di analisi. Usa il comando File → Print o di esportazione PDF del programma dopo aver verificato la selezione dei canali, i timestamp, le unità e i marcatori.

Per un file XDF creato da un sistema dati R, aprilo con il pacchetto R corrispondente—come il pacchetto utilizzato da RevoScaleR—quindi esporta la tabella o il grafico richiesto e crea il PDF tramite il flusso di lavoro File → Print di RStudio o un flusso File → Knit Document configurato. Non utilizzare un lettore LSL XDF per questa variante senza aver verificato la compatibilità.

Convertitori online e limiti di compatibilità

I servizi online generici come CloudConvert e Zamzar devono essere presi in considerazione solo se la loro pagina di caricamento corrente elenca esplicitamente la variante XDF esatta e può visualizzare in anteprima o elaborare il file. In genere non interpretano la struttura di serie temporali di LabRecorder come un report, e il caricamento di dati EEG, biometrici, clinici o proprietari può violare i requisiti di privacy o di gestione della ricerca. Adobe Acrobat e le normali stampanti PDF non possono aprire in modo significativo dati LSL XDF non elaborati; possono elaborare solo un report o un'immagine prodotto da un'applicazione compatibile con XDF.

Conserva l'XDF originale insieme al PDF. Verifica la presenza di campioni eliminati, marcatori mancanti, conversione dei timestamp, metadati incompleti e downsampling prima di utilizzare il PDF come record di analisi; conserva i dati di origine e le impostazioni di elaborazione per garantire la riproducibilità.

Il database attualmente non contiene alcun convertitore di file xdf.

Altre conversioni di file .xdf

Conversione in .pdf
da altri formati

Condividi sui social media: