@@ -204,7 +204,55 @@ def _process_scalar_job(scalar_name, source_files):
204204 return 0
205205
206206
207- def get_parser ():
207+ def cifti_to_h5_main (
208+ cohort_file ,
209+ backend = 'hdf5' ,
210+ output_hdf5 = 'fixelarray.h5' ,
211+ output_tiledb = 'arraydb.tdb' ,
212+ storage_dtype = 'float32' ,
213+ compression = 'gzip' ,
214+ compression_level = 4 ,
215+ shuffle = True ,
216+ chunk_voxels = 0 ,
217+ target_chunk_mb = 2.0 ,
218+ tdb_compression = 'zstd' ,
219+ tdb_compression_level = 5 ,
220+ tdb_shuffle = True ,
221+ tdb_tile_voxels = 0 ,
222+ tdb_target_tile_mb = 2.0 ,
223+ tdb_workers = None ,
224+ scalar_columns = None ,
225+ s3_workers = 1 ,
226+ log_level = 'INFO' ,
227+ ):
228+ """Entry point for the ``modelarrayio cifti-to-h5`` command."""
229+ logging .basicConfig (
230+ level = getattr (logging , str (log_level ).upper (), logging .INFO ),
231+ format = '[%(levelname)s] %(name)s: %(message)s' ,
232+ )
233+ return cifti_to_h5 (
234+ cohort_file = cohort_file ,
235+ backend = backend ,
236+ output_hdf5 = output_hdf5 ,
237+ output_tiledb = output_tiledb ,
238+ storage_dtype = storage_dtype ,
239+ compression = compression ,
240+ compression_level = compression_level ,
241+ shuffle = shuffle ,
242+ chunk_voxels = chunk_voxels ,
243+ target_chunk_mb = target_chunk_mb ,
244+ tdb_compression = tdb_compression ,
245+ tdb_compression_level = tdb_compression_level ,
246+ tdb_shuffle = tdb_shuffle ,
247+ tdb_tile_voxels = tdb_tile_voxels ,
248+ tdb_target_tile_mb = tdb_target_tile_mb ,
249+ tdb_workers = tdb_workers ,
250+ scalar_columns = scalar_columns ,
251+ s3_workers = s3_workers ,
252+ )
253+
254+
255+ def _parse_cifti_to_h5 ():
208256 parser = argparse .ArgumentParser (
209257 description = 'Create a hdf5 file of CIDTI2 dscalar data' ,
210258 formatter_class = argparse .ArgumentDefaultsHelpFormatter ,
@@ -228,15 +276,3 @@ def get_parser():
228276 )
229277 add_s3_workers_arg (parser )
230278 return parser
231-
232-
233- def main ():
234- parser = get_parser ()
235- args = parser .parse_args ()
236- kwargs = vars (args )
237- log_level = kwargs .pop ('log_level' )
238- logging .basicConfig (
239- level = getattr (logging , str (log_level ).upper (), logging .INFO ),
240- format = '[%(levelname)s] %(name)s: %(message)s' ,
241- )
242- return cifti_to_h5 (** kwargs )
0 commit comments