Skip to content

Commit 1494d22

Browse files
author
Blair Lyons
authored
Fix/use display names (#184)
* use display name when creating type mapping in AgentData * fix physicell tests * add test for using correct display name
1 parent fd90e98 commit 1494d22

File tree

3 files changed

+19
-5
lines changed

3 files changed

+19
-5
lines changed

simulariumio/data_objects/agent_data.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -214,14 +214,14 @@ def get_type_ids_and_mapping(self) -> Tuple[np.ndarray, Dict[str, Any]]:
214214
tid = last_tid
215215
last_tid += 1
216216
type_id_mapping[type_name] = tid
217-
type_name_mapping[str(tid)] = {"name": type_name}
218217
if type_name not in self.display_data:
219218
raise DataError(
220219
f"Please provide DisplayData for agent type {type_name}"
221220
)
222-
type_name_mapping[str(tid)]["geometry"] = dict(
223-
self.display_data[type_name]
224-
)
221+
type_name_mapping[str(tid)] = {
222+
"name": self.display_data[type_name].name,
223+
"geometry" : dict(self.display_data[type_name])
224+
}
225225
type_ids[time_index][agent_index] = type_id_mapping[type_name]
226226
return type_ids, type_name_mapping
227227

simulariumio/physicell/physicell_converter.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ def _get_trajectory_data(
223223
last_id=last_id,
224224
type_mapping=type_mapping,
225225
)
226-
if type_mapping[tid] not in input_data.display_data:
226+
if type_mapping[tid] not in result.display_data:
227227
result.display_data[type_mapping[tid]] = DisplayData(
228228
name=type_mapping[tid],
229229
display_type=DISPLAY_TYPE.SPHERE,
@@ -376,6 +376,7 @@ def _read(
376376
phase_id
377377
)
378378
agent_data.display_data[type_name] = display_data
379+
agent_data.display_data[type_name].name = type_name
379380
input_data.meta_data.scale_factor = scale_factor
380381
input_data.meta_data._set_box_size()
381382
return TrajectoryData(

simulariumio/tests/converters/test_trajectory_converter.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,15 @@ def test_camera_defaults(camera, expected_camera):
274274

275275

276276
# test type mapping
277+
test_display_name = "Test display name"
278+
default_agents_converter._data.agent_data.display_data["C"].name = test_display_name
279+
default_agents_data_display_name = JsonWriter.format_trajectory_data(
280+
default_agents_converter._data
281+
)
282+
display_name_type_mapping = minimal_custom_type_mappings()
283+
display_name_type_mapping["0"]["name"] = test_display_name
284+
285+
277286
@pytest.mark.parametrize(
278287
"typeMapping, expected_typeMapping",
279288
[
@@ -306,6 +315,10 @@ def test_camera_defaults(camera, expected_camera):
306315
},
307316
},
308317
),
318+
(
319+
default_agents_data_display_name["trajectoryInfo"]["typeMapping"],
320+
display_name_type_mapping,
321+
),
309322
],
310323
)
311324
def test_type_mapping(typeMapping, expected_typeMapping):

0 commit comments

Comments
 (0)