Skip to content

Notes about the ParaVision Format

Sebastiano Ferraris edited this page Aug 17, 2017 · 6 revisions

Bruker ParaVision file structure

root_ParaVision/study_name/experiment_numbers/pdata/processed_image_numbers

  • root_ParaVision: arbitrary path where the ParaVision data are stored.
  • study_name: name of the study, related to the same subject. Information related to the subject are in the root_ParaVision/study_name/file subject
  • experiment_numbers (or scan_numbers): set of folders named with '1', '2', ... containing each experiment or scan.
  • pdata: (short for processed data) folder created by ParaVision containing a new hierarchy of folders named with '1', '2', ... called here sub-scans
  • processed_image_numbers: set of folders named with '1', '2', ... containing sub-scans, having in common the same scan modality and scanner configuration. Each sub scan has its own visu_pars data file (see below).

A Study structure in ParaVision can be:

└── StudyName
    ├── 1
    ├── 2
    ├── 3
    ├── 4
    ├── 5
    ├── 6
    ├── AdjResult
    ├── AdjStatePerStudy
    └── subject

where each folder numbered 1 to 6 is an experiment or scan, whose sub-structure can be

├── 3
│   ├── AdjStatePerScan
│   ├── acqp
│   ├── configscan
│   ├── fid
│   ├── method
│   ├── pdata
│   │   ├── 1
│   │   │   ├── 2dseq
│   │   │   ├── id
│   │   │   ├── procs
│   │   │   ├── reco
│   │   │   ├── roi
│   │   │   └── visu_pars
│   │   └── 2
│   │       ├── 2dseq
│   │       ├── d3proc
│   │       ├── id
│   │       ├── isa
│   │       ├── procs
│   │       ├── roi
│   │       └── visu_pars
│   ├── pulseprogram
│   ├── specpar
│   ├── uxnmr.info
│   ├── uxnmr.par
│   └── visu_pars

Under pdata the (unzipped) file 2dseq contains the information of the image volume. d3proc contains a summary of the relevant information relate to the volume (lacking of orientation and resolution, among others); beware some converters use only the d3proc to reconstruct the converted image. In ParaVision version 6 some sub-scans may not have the d3proc file at all (as in the structure example below), as it is deprecated and will be entirely removed from the next ParaVision version software.

The Bruker structure contains more information than the one required to fill a nifti header (unique identifier, scanner setting, location, users, sample or subject scanned biometrics can appear in the Bruker raw data, if filled when scanning the data). To obtain relevant information to fill the nifti header (and b-values and b-vectors if any) only the information from visu_pars should be considered, as when the ParaVision embedded DICOM converter is used, only the visu_pars file is considered by the DICOM-converter. For completeness we will parse into numpy dictionaries (and human readable .txt files if required) also the parameters in method, acqp and reco.

Examples of differences between 5 and 6 in the parameters files are:

Under methods the attribute PVM_SpatDimEnum in pv5 appears as:

##$PVM_SpatDimEnum=3D

whereas in pv6:

##$PVM_SpatDimEnum=<3D>

Under methods the attribute ACQ_time in pv5 appears as:

##$ACQ_time=( 24 )
<20:19:47  1 Sep 2016>

whereas in pv6 is:

##$ACQ_time=<2017-03-07T19:56:48,575+0100>

Bruker2nifti is programmed to parse both these cases.