Skip to content

Commit e1a6aa9

Browse files
committed
feat: Add and test axis code loading
1 parent cb4f48a commit e1a6aa9

File tree

2 files changed

+14
-0
lines changed

2 files changed

+14
-0
lines changed

src/files/nifti.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,7 @@ export async function loadHeader(file: BIDSFile): Promise<NiftiHeader> {
6565
},
6666
qform_code: header.qform_code,
6767
sform_code: header.sform_code,
68+
axis_codes: axisCodes(header.affine),
6869
} as NiftiHeader
6970
} catch (err) {
7071
throw { code: 'NIFTI_HEADER_UNREADABLE' }
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import { assertEquals, assertObjectMatch } from '@std/assert'
2+
import { loadHeader } from '../../files/nifti.ts'
3+
import { BIDSFileDeno } from '../../files/deno.ts'
4+
5+
Deno.test('Test NIFTI-specific rules', async (t) => {
6+
await t.step('Test reading NIfTI axis codes' , async () => {
7+
for (const axcodes of [['R', 'A', 'S'], ['S', 'P', 'L'], ['A', 'I', 'R']]) {
8+
const testfile = `tests/data/${axcodes.join('')}.nii.gz`
9+
const header = await loadHeader(new BIDSFileDeno('', testfile))
10+
assertEquals(header.axis_codes, axcodes)
11+
}
12+
})
13+
})

0 commit comments

Comments
 (0)