Converter xdf para pdf

Converter XDF para PDF

Converta o LabRecorder e outras variantes XDF em relatórios PDF de layout fixo.

Crie ficheiros PDF online

Ainda não conseguimos ler ficheiros XDF, por isso esta conversão não está disponível. Se conseguir exportar o seu trabalho para um destes formatos ou outros, transformamo-lo em PDF:

Como converter xdf para pdf arquivo

  • Documentos

Um PDF é útil quando uma gravação XDF precisa ser compartilhada como um relatório de layout fixo, impressa ou arquivada para análise. Como os arquivos XDF geralmente contêm medições, e não páginas, a conversão requer o aplicativo ou fluxo de análise que compreenda a variante específica de XDF.

O que é o formato XDF

XDF é uma extensão de nome de arquivo ambígua. O uso científico mais comum é o Extensible Data Format usado por aplicativos do Lab Streaming Layer (LSL), como o LabRecorder. Esses arquivos podem conter streams sincronizados de EEG, ECG, movimento, rastreamento ocular, áudio e marcadores de eventos, com timestamps e metadados.

Um arquivo XDF do LSL armazena dados de séries temporais, não páginas de documentos, fontes ou um layout predefinido. Outros produtos também usam .xdf, incluindo sistemas relacionados ao Microsoft R, como o RevoScaleR. Um arquivo XDF de um produto pode não ser legível por software projetado para outro, portanto identifique o aplicativo que criou o arquivo antes de escolher um conversor.

O que é o formato PDF

PDF é um formato de documento de layout fixo que preserva as dimensões da página, o texto, os elementos gráficos e—em muitas exportações—as informações de fontes entre diferentes sistemas operacionais. Ele é adequado para impressão e distribuição, mas não é uma substituição sem perdas para a gravação de origem: amostras, timestamps, metadados, rótulos de canais e marcadores de eventos podem ser plotados seletivamente, resumidos ou omitidos.

Como converter um arquivo XDF do LSL

Não existe um conversor universal de um clique para arquivos XDF do LabRecorder, pois a origem contém streams, e não um layout de documento. Um método confiável para desktop é ler os streams com o pyxdf, plotá-los com o Matplotlib e gravar os plots em um PDF.

  1. Instale o Python 3 e os pacotes necessários com python -m pip install pyxdf matplotlib numpy.
  2. Salve o código a seguir como xdf_to_pdf.py e substitua input.xdf pelo nome do arquivo de origem.
  3. Execute python xdf_to_pdf.py. O script cria xdf_report.pdf, adicionando uma página para cada stream numérico.
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)

Isso produz um relatório visual, não uma exportação de dados pronta para análise. Para gravações longas, plote intervalos de tempo selecionados ou canais representativos; plotar todas as amostras pode criar PDFs lentos e muito grandes. Adicione explicitamente unidades, nomes de canais, marcadores de eventos e metadados da gravação quando forem necessários no relatório.

Outros fluxos de trabalho para desktop

Para gravações de EEG e outras gravações fisiológicas, inspecione o arquivo com uma ferramenta científica compatível com XDF, como o MNE-Python quando o leitor de XDF estiver disponível, ou carregue-o com o pyxdf e gere figuras ou um relatório de análise. Use o comando File → Print ou de exportação para PDF do programa depois de verificar a seleção de canais, os timestamps, as unidades e os marcadores.

Para um arquivo XDF criado por um sistema de dados R, abra-o com o pacote R correspondente—como o pacote usado pelo RevoScaleR—e exporte a tabela ou o plot necessário, criando o PDF por meio do fluxo de trabalho File → Print ou File → Knit Document configurado do RStudio. Não use um leitor de XDF do LSL para essa variante sem confirmar a compatibilidade.

Conversores online e limites de compatibilidade

Serviços online gerais, como CloudConvert e Zamzar, só devem ser considerados se a página de upload atual listar explicitamente a variante exata de XDF e puder visualizar ou processar o arquivo. Em geral, eles não interpretam a estrutura de séries temporais do LabRecorder como um relatório, e o upload de dados de EEG, biométricos, clínicos ou proprietários pode violar requisitos de privacidade ou de tratamento de dados de pesquisa. O Adobe Acrobat e as impressoras PDF comuns não conseguem abrir de forma significativa dados XDF brutos do LSL; eles só podem processar um relatório ou uma imagem produzida por um aplicativo compatível com XDF.

Mantenha o XDF original junto com o PDF. Verifique se houve perda de amostras, ausência de marcadores, conversão de timestamps, metadados incompletos e downsampling antes de usar o PDF como registro de análise; retenha os dados de origem e as configurações de processamento para garantir a reprodutibilidade.

O banco de dados atualmente não contém nenhum conversor de arquivo xdf.

Outras conversões de arquivo .xdf

Converter para .pdf
de outros formatos

Compartilhar nas redes sociais: