UCL / UCL/STIR

use Interfile header to wrap other file formats

Open
#433 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
C++
Stars
160
Forks
113
Avg merge
12d 15h
Merged PRs (30d)
1

Description

In a discussion with @ashgillman and @rijobro we thought it would be good to be able to read file formats that don't have all the information we need (e.g. nifti doesn't supply timing info). It could be simple enough to use the Interfile infrastructure to do this. Suppose we need to read A.nii We could use an Interfile header that points to A.nii which would be like

!INTERFILE  :=
; new keyword, defaulting to "binary"
type of data file := binary|NIfTI|MetaIO|NRRD|ITK|DICOM
name of data file := A.nii
originating system :=...
patient position:=...
modality:=...
bed position keywords
radiotracer keywords

; some info for LPS (still under discussion)
transformation to xyz vendor LPS

!GENERAL DATA :=
!GENERAL IMAGE DATA :=
!type of data := PET
!PET STUDY (General) :=
!PET data type := Image
process status := Reconstructed
; would have to match nii number
number of time frames := 1
; normal time frame info
!END OF INTERFILE :=

we would have to decide what to do if information is present in both the Interfile header and the native file format (e.g. with DICOM) but is inconsistent.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing Interfile infrastructure and the readers for NIfTI, MetaIO, NRRD, ITK, and DICOM. Clarify the header syntax, supported native formats, and precedence when metadata conflicts; done means a defined, agreed approach for wrapping these formats.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.