@@ -118,7 +118,7 @@ def test_box_size_provided(box_size, expected_box_size):
118118
119119# value of automatically generated scale factor, so that position
120120# data fits within VIEWER_DIMENSION_RANGE
121- range = 0.400052 - - 0.001
121+ range = 0.00808633 - - 0.39575567
122122auto_scale_factor = VIEWER_DIMENSION_RANGE .MIN / range
123123name_0 = "fiber"
124124radius_0 = 0.001
@@ -292,8 +292,12 @@ def test_agent_ids():
292292 assert JsonWriter ._check_agent_ids_are_unique_per_frame (results_display_data )
293293
294294
295+ scale_factor_aster = 10
295296# test data extraction from aster_pull3D example
296297aster_pull3D_objects = CytosimData (
298+ meta_data = MetaData (
299+ scale_factor = scale_factor_aster
300+ ),
297301 object_info = {
298302 "fibers" : CytosimObjectInfo (
299303 cytosim_file = InputFileData (
@@ -346,6 +350,127 @@ def test_parse_dimensions():
346350 assert dimension_data .max_subpoints == 18
347351
348352
353+ converter_aster = CytosimConverter (aster_pull3D_objects )
354+ results_aster = JsonWriter .format_trajectory_data (converter_aster ._data )
355+
356+
357+ @pytest .mark .parametrize (
358+ "asterData, expected_asterData" ,
359+ [
360+ (
361+ results_aster ["spatialData" ]["bundleData" ][0 ]["data" ][0 :49 ],
362+ [
363+ VIZ_TYPE .FIBER , # agent 1
364+ 1.0 , # id
365+ 0.0 , # type
366+ 0.24166 * scale_factor_aster ,
367+ 0.50934 * scale_factor_aster ,
368+ 0.22896 * scale_factor_aster ,
369+ 0.0 ,
370+ 0.0 ,
371+ 0.0 ,
372+ 1.0 * scale_factor_aster ,
373+ 15.0 ,
374+ 0.12764 * scale_factor_aster ,
375+ - 0.14133999999999997 * scale_factor_aster ,
376+ - 0.061160000000000006 * scale_factor_aster ,
377+ 0.06384 * scale_factor_aster ,
378+ - 0.07064000000000001 * scale_factor_aster ,
379+ - 0.03056000000000001 * scale_factor_aster ,
380+ 4.000000000000669e-05 * scale_factor_aster ,
381+ - 4.000000000000114e-05 * scale_factor_aster ,
382+ 4.0000000000005316e-05 * scale_factor_aster ,
383+ - 0.06385999999999999 * scale_factor_aster ,
384+ 0.07065999999999997 * scale_factor_aster ,
385+ 0.030540000000000005 * scale_factor_aster ,
386+ - 0.12766000000000002 * scale_factor_aster ,
387+ 0.14135999999999999 * scale_factor_aster ,
388+ 0.061140000000000014 * scale_factor_aster ,
389+ VIZ_TYPE .FIBER , # agent 2
390+ 2.0 ,
391+ 0.0 ,
392+ 0.3733 * scale_factor_aster ,
393+ 0.2226 * scale_factor_aster ,
394+ 0.2044 * scale_factor_aster ,
395+ 0.0 ,
396+ 0.0 ,
397+ 0.0 ,
398+ 1.0 * scale_factor_aster ,
399+ 12.0 ,
400+ - 0.00399999999999999 * scale_factor_aster ,
401+ 0.1454 * scale_factor_aster ,
402+ - 0.036599999999999994 * scale_factor_aster ,
403+ - 0.0013000000000000095 * scale_factor_aster ,
404+ 0.048499999999999995 * scale_factor_aster ,
405+ - 0.012199999999999989 * scale_factor_aster ,
406+ 0.0012999999999999817 * scale_factor_aster ,
407+ - 0.04850000000000001 * scale_factor_aster ,
408+ 0.012199999999999989 * scale_factor_aster ,
409+ 0.004000000000000017 * scale_factor_aster ,
410+ - 0.1454 * scale_factor_aster ,
411+ 0.036599999999999994 * scale_factor_aster ,
412+ ],
413+ ),
414+ (
415+ results_aster ["spatialData" ]["bundleData" ][1 ]["data" ][0 :49 ],
416+ [
417+ VIZ_TYPE .FIBER ,
418+ 1.0 ,
419+ 0.0 ,
420+ 0.26803333333333335 * scale_factor_aster ,
421+ 0.48285 * scale_factor_aster ,
422+ 0.010500000000000002 * scale_factor_aster ,
423+ 0.0 ,
424+ 0.0 ,
425+ 0.0 ,
426+ 1.0 * scale_factor_aster ,
427+ 18.0 ,
428+ 0.17746666666666666 * scale_factor_aster ,
429+ - 0.14315 * scale_factor_aster ,
430+ 0.0781 * scale_factor_aster ,
431+ 0.09826666666666667 * scale_factor_aster ,
432+ - 0.10015000000000002 * scale_factor_aster ,
433+ 0.034600000000000006 * scale_factor_aster ,
434+ 0.02156666666666669 * scale_factor_aster ,
435+ - 0.05004999999999998 * scale_factor_aster ,
436+ - 0.005500000000000001 * scale_factor_aster ,
437+ - 0.04973333333333333 * scale_factor_aster ,
438+ 0.013249999999999984 * scale_factor_aster ,
439+ - 0.035699999999999996 * scale_factor_aster ,
440+ - 0.10803333333333334 * scale_factor_aster ,
441+ 0.09375 * scale_factor_aster ,
442+ - 0.046299999999999994 * scale_factor_aster ,
443+ - 0.13953333333333334 * scale_factor_aster ,
444+ 0.18635000000000002 * scale_factor_aster ,
445+ - 0.0252 * scale_factor_aster ,
446+ VIZ_TYPE .FIBER ,
447+ 2.0 ,
448+ 0.0 ,
449+ 0.4225666666666667 * scale_factor_aster ,
450+ 0.23976666666666668 * scale_factor_aster ,
451+ 0.07003333333333334 * scale_factor_aster ,
452+ 0.0 ,
453+ 0.0 ,
454+ 0.0 ,
455+ 1.0 * scale_factor_aster ,
456+ 9.0 ,
457+ 0.019733333333333342 * scale_factor_aster ,
458+ 0.09583333333333334 * scale_factor_aster ,
459+ 0.02036666666666666 * scale_factor_aster ,
460+ - 0.0023666666666666636 * scale_factor_aster ,
461+ 0.0006333333333333236 * scale_factor_aster ,
462+ - 0.0008333333333333328 * scale_factor_aster ,
463+ - 0.01736666666666668 * scale_factor_aster ,
464+ - 0.09646666666666666 * scale_factor_aster ,
465+ - 0.01953333333333333 * scale_factor_aster ,
466+ ],
467+ ),
468+ ],
469+ )
470+ def test_aster_data (asterData , expected_asterData ):
471+ assert np .isclose (expected_asterData , asterData ).all ()
472+
473+
349474def test_input_file_error ():
350475 # throws an error when the file is the right type, but is malformed
351476 malformed_data = CytosimData (
0 commit comments