@@ -15,6 +15,7 @@ import type { BIDSFile } from '../types/filetree.ts'
1515import { FileTree } from '../types/filetree.ts'
1616import { ColumnsMap } from '../types/columns.ts'
1717import { readEntities } from './entities.ts'
18+ import { findDatatype } from './datatypes.ts'
1819import { DatasetIssues } from '../issues/datasetIssues.ts'
1920import { walkBack } from '../files/inheritance.ts'
2021import { parseGzip } from '../files/gzip.ts'
@@ -147,16 +148,20 @@ export class BIDSContext implements Context {
147148 dsContext ?: BIDSContextDataset ,
148149 fileTree ?: FileTree ,
149150 ) {
151+ this . dataset = dsContext ? dsContext : new BIDSContextDataset ( { tree : fileTree } )
152+
150153 this . filenameRules = [ ]
151154 this . file = file
152- const bidsEntities = readEntities ( file . name )
153- this . suffix = bidsEntities . suffix
154- this . extension = bidsEntities . extension
155- this . entities = bidsEntities . entities
156- this . dataset = dsContext ? dsContext : new BIDSContextDataset ( { tree : fileTree } )
155+
156+ const { entities, suffix, extension } = readEntities ( file . name )
157+ const { datatype, modality } = findDatatype ( file , this . dataset . schema )
158+ this . entities = entities
159+ this . suffix = suffix
160+ this . extension = extension
161+ this . datatype = datatype
162+ this . modality = modality
163+
157164 this . subject = { } as Subject
158- this . datatype = ''
159- this . modality = ''
160165 this . sidecar = { }
161166 this . sidecarKeyOrigin = { }
162167 this . columns = new ColumnsMap ( ) as Record < string , string [ ] >
0 commit comments