From c8ac3284efee96340ebcb37038d7e4fdb855165c Mon Sep 17 00:00:00 2001 From: Felipe Narvaez Date: Tue, 24 Jun 2025 17:24:27 -0500 Subject: [PATCH 1/5] Added unread data --- .../vi_cell_blu_structure.py | 1 + ...an_Vi-Cell-BLU_different_mu_character.json | 18 +- .../Beckman_Vi-Cell-BLU_example01.json | 162 +++++++++++++++++- .../Beckman_Vi-Cell-BLU_example01_utf16.json | 162 +++++++++++++++++- .../Beckman_Vi-Cell-BLU_example02.json | 82 ++++++++- 5 files changed, 421 insertions(+), 4 deletions(-) diff --git a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py index efa2fca2a..39f301fd3 100644 --- a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py +++ b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py @@ -53,6 +53,7 @@ def create_measurement_group(data: SeriesData) -> MeasurementGroup: average_viable_cell_circularity=data.get( float, "Average viable circularity" ), + custom_info=data.get_unread(), ) ], ) diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json index b3225dc6b..8f623ec42 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json @@ -75,6 +75,22 @@ }, "sample document": { "sample identifier": "CLB001" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Bubble count": 0.0, + "Cluster count": 0.0, + "Images for analysis": 100.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Decluster degree": "Medium", + "Minimum circularity": 0.1, + "Viable spot brightness (%)": 50.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Average cells per image": 21.0, + "Average background intensity": 134.0, + "Images": 100.0 } } ] @@ -88,7 +104,7 @@ "file name": "Beckman_Vi-Cell-BLU_different_mu_character.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.69", + "ASM converter version": "0.1.94", "software name": "Vi-Cell BLU" }, "device system document": { diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json index 2235aac20..ec799c268 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json @@ -75,6 +75,22 @@ }, "sample document": { "sample identifier": "CLB001" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 21.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -154,6 +170,22 @@ }, "sample document": { "sample identifier": "CLB002" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 135.0, + "Wash": "Normal Wash", + "Average cells per image": 76.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -233,6 +265,22 @@ }, "sample document": { "sample identifier": "CLB003" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 15.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -312,6 +360,22 @@ }, "sample document": { "sample identifier": "CLB005" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 31.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -391,6 +455,22 @@ }, "sample document": { "sample identifier": "CLB006" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 24.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -470,6 +550,22 @@ }, "sample document": { "sample identifier": "CLB007" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 29.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -541,6 +637,22 @@ }, "sample document": { "sample identifier": "CLB008" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 4.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 70.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -620,6 +732,22 @@ }, "sample document": { "sample identifier": "CLB009" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 0.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 135.0, + "Wash": "Normal Wash", + "Average cells per image": 52.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -699,6 +827,22 @@ }, "sample document": { "sample identifier": "CLB010" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 24.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Wash": "Normal Wash", + "Average cells per image": 113.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -778,6 +922,22 @@ }, "sample document": { "sample identifier": "CLB011" + }, + "custom information document": { + "Viable spot area (%)": 5.0, + "Cluster count": 7.0, + "Minimum circularity": 0.1, + "Cell sharpness": 7.0, + "Images": 100.0, + "Bubble count": 0.0, + "Average background intensity": 135.0, + "Wash": "Normal Wash", + "Average cells per image": 97.0, + "Mixing cycles": 3.0, + "Aspiration cycles": 3.0, + "Decluster degree": "Medium", + "Viable spot brightness (%)": 50.0, + "Images for analysis": 100.0 } } ] @@ -791,7 +951,7 @@ "file name": "Beckman_Vi-Cell-BLU_example01.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.69", + "ASM converter version": "0.1.94", "software name": "Vi-Cell BLU" }, "device system document": { diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json index 8876163da..a575434ec 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json @@ -75,6 +75,22 @@ }, "sample document": { "sample identifier": "CLB001" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 21.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -154,6 +170,22 @@ }, "sample document": { "sample identifier": "CLB002" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 76.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 135.0 } } ] @@ -233,6 +265,22 @@ }, "sample document": { "sample identifier": "CLB003" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 15.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -312,6 +360,22 @@ }, "sample document": { "sample identifier": "CLB005" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 31.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -391,6 +455,22 @@ }, "sample document": { "sample identifier": "CLB006" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 24.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -470,6 +550,22 @@ }, "sample document": { "sample identifier": "CLB007" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 29.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -549,6 +645,22 @@ }, "sample document": { "sample identifier": "CLB008" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 70.0, + "Images for analysis": 100.0, + "Cluster count": 4.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -628,6 +740,22 @@ }, "sample document": { "sample identifier": "CLB009" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 52.0, + "Images for analysis": 100.0, + "Cluster count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 135.0 } } ] @@ -707,6 +835,22 @@ }, "sample document": { "sample identifier": "CLB010" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 113.0, + "Images for analysis": 100.0, + "Cluster count": 24.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 134.0 } } ] @@ -786,6 +930,22 @@ }, "sample document": { "sample identifier": "CLB011" + }, + "custom information document": { + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Aspiration cycles": 3.0, + "Minimum circularity": 0.1, + "Average cells per image": 97.0, + "Images for analysis": 100.0, + "Cluster count": 7.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Cell sharpness": 7.0, + "Wash": "Normal Wash", + "Images": 100.0, + "Average background intensity": 135.0 } } ] @@ -799,7 +959,7 @@ "file name": "Beckman_Vi-Cell-BLU_example01_utf16.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.69", + "ASM converter version": "0.1.94", "software name": "Vi-Cell BLU" }, "device system document": { diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json index a575ac5e3..b4aa7ce3a 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json @@ -75,6 +75,22 @@ }, "sample document": { "sample identifier": "CLB001" + }, + "custom information document": { + "Viable spot area (%)": 10.0, + "Images for analysis": 59.0, + "Cluster count": 45.0, + "Average background intensity": 135.0, + "Cell sharpness": 10.0, + "Average cells per image": 20.0, + "Minimum circularity": 0.0, + "Wash": "Normal Wash", + "Viable spot brightness (%)": 55.0, + "Bubble count": 0.0, + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Images": 100.0, + "Aspiration cycles": 4.0 } } ] @@ -154,6 +170,22 @@ }, "sample document": { "sample identifier": "CLB002" + }, + "custom information document": { + "Viable spot area (%)": 10.0, + "Images for analysis": 51.0, + "Cluster count": 33.0, + "Average background intensity": 134.0, + "Cell sharpness": 10.0, + "Average cells per image": 9.0, + "Minimum circularity": 0.0, + "Wash": "Normal Wash", + "Viable spot brightness (%)": 55.0, + "Bubble count": 0.0, + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Images": 100.0, + "Aspiration cycles": 4.0 } } ] @@ -233,6 +265,22 @@ }, "sample document": { "sample identifier": "CLB003" + }, + "custom information document": { + "Viable spot area (%)": 10.0, + "Images for analysis": 50.0, + "Cluster count": 41.0, + "Average background intensity": 134.0, + "Cell sharpness": 10.0, + "Average cells per image": 34.0, + "Minimum circularity": 0.0, + "Wash": "Normal Wash", + "Viable spot brightness (%)": 55.0, + "Bubble count": 0.0, + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Images": 100.0, + "Aspiration cycles": 4.0 } } ] @@ -312,6 +360,22 @@ }, "sample document": { "sample identifier": "CLB004" + }, + "custom information document": { + "Viable spot area (%)": 10.0, + "Images for analysis": 62.0, + "Cluster count": 40.0, + "Average background intensity": 135.0, + "Cell sharpness": 10.0, + "Average cells per image": 28.0, + "Minimum circularity": 0.0, + "Wash": "Normal Wash", + "Viable spot brightness (%)": 55.0, + "Bubble count": 0.0, + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Images": 100.0, + "Aspiration cycles": 4.0 } } ] @@ -391,6 +455,22 @@ }, "sample document": { "sample identifier": "CLB005" + }, + "custom information document": { + "Viable spot area (%)": 10.0, + "Images for analysis": 50.0, + "Cluster count": 58.0, + "Average background intensity": 134.0, + "Cell sharpness": 10.0, + "Average cells per image": 16.0, + "Minimum circularity": 0.0, + "Wash": "Normal Wash", + "Viable spot brightness (%)": 55.0, + "Bubble count": 0.0, + "Mixing cycles": 3.0, + "Decluster degree": "Medium", + "Images": 100.0, + "Aspiration cycles": 4.0 } } ] @@ -404,7 +484,7 @@ "file name": "Beckman_Vi-Cell-BLU_example02.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.69", + "ASM converter version": "0.1.94", "software name": "Vi-Cell BLU" }, "device system document": { From e811aecc532563846cf0d66881bef29bbb3fe6a4 Mon Sep 17 00:00:00 2001 From: Felipe Narvaez Date: Thu, 26 Jun 2025 17:07:58 -0500 Subject: [PATCH 2/5] Added custom info to other documents --- .../rec/_2024/_09/cell_counting.py | 4 + .../rec/_2024/_09/cell_counting.py | 14 +- .../vi_cell_blu_structure.py | 21 + ...an_Vi-Cell-BLU_different_mu_character.json | 46 +- .../Beckman_Vi-Cell-BLU_example01.json | 442 ++++++++++++------ .../Beckman_Vi-Cell-BLU_example01_utf16.json | 442 ++++++++++++------ .../Beckman_Vi-Cell-BLU_example02.json | 222 ++++++--- 7 files changed, 795 insertions(+), 396 deletions(-) diff --git a/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py b/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py index dec47dd80..29fee6d56 100644 --- a/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py +++ b/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py @@ -72,6 +72,7 @@ class ErrorAggregateDocument: class ImageDocumentItem: experimental_data_identifier: TStringValue | None = None index: TIntegerValue | None = None + custom_info: dict[str, Any] | None = None @dataclass(kw_only=True) @@ -116,6 +117,7 @@ class DataProcessingDocument: cell_density_dilution_factor: TQuantityValueUnitless | None = None minimum_cell_diameter_setting: TQuantityValueMicrometer | None = None maximum_cell_diameter_setting: TQuantityValueMicrometer | None = None + custom_info: dict[str, Any] | None = None @dataclass(kw_only=True) @@ -250,6 +252,7 @@ class DeviceControlDocumentItem: excitation_bandwidth_setting: TQuantityValueNanometer | None = None excitation_wavelength_setting: TQuantityValueNanometer | None = None fluorescent_tag_setting: TStringValue | None = None + custom_info: dict[str, Any] | None = None @dataclass(kw_only=True) @@ -263,6 +266,7 @@ class DeviceControlAggregateDocument: @dataclass(kw_only=True) class ProcessedDataDocumentItem: fluorescent_tag_positive_cell_count: TQuantityValueCell | None = None + custom_info: dict[str, Any] | None = None custom_information_aggregate_document: CustomInformationAggregateDocument | None = ( None ) diff --git a/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py b/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py index 733c6f875..1c2b1c819 100644 --- a/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py +++ b/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py @@ -107,6 +107,12 @@ class Measurement: sample_custom_info: dict[str, Any] | None = None custom_info: dict[str, Any] | None = None + # Custom information documents + device_control_custom_info: dict[str, Any] | None = None + image_processing_custom_info: dict[str, Any] | None = None + data_processing_custom_info: dict[str, Any] | None = None + processed_data_custom_info: dict[str, Any] | None = None + @dataclass(frozen=True) class MeasurementGroup: @@ -236,6 +242,7 @@ def _get_measurement_document( TQuantityValueMicroliter, measurement.sample_volume_setting, ), + custom_info=measurement.device_control_custom_info, ) ] ), @@ -248,11 +255,12 @@ def _get_measurement_document( image_aggregate_document=ImageAggregateDocument( image_document=[ ImageDocumentItem( - experimental_data_identifier=measurement.experimental_data_identifier + experimental_data_identifier=measurement.experimental_data_identifier, + custom_info=measurement.image_processing_custom_info ) ], ) - if measurement.experimental_data_identifier + if measurement.experimental_data_identifier or measurement.image_processing_custom_info else None, ) return add_custom_information_document( @@ -336,6 +344,7 @@ def _get_processed_data_aggregate_document( TQuantityValueUnitless, measurement.cell_density_dilution_factor, ), + custom_info=measurement.data_processing_custom_info, ) processed_data_document = ProcessedDataDocumentItem( processed_data_identifier=measurement.processed_data_identifier, @@ -344,6 +353,7 @@ def _get_processed_data_aggregate_document( if has_value(data_processing_document) else None ), + custom_info=measurement.processed_data_custom_info, viability__cell_counter_=TQuantityValuePercent(value=measurement.viability), viable_cell_density__cell_counter_=TQuantityValueMillionCellsPerMilliliter( value=measurement.viable_cell_density diff --git a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py index 39f301fd3..b14956efe 100644 --- a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py +++ b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py @@ -53,6 +53,27 @@ def create_measurement_group(data: SeriesData) -> MeasurementGroup: average_viable_cell_circularity=data.get( float, "Average viable circularity" ), + device_control_custom_info=data.get_custom_keys( + {"Wash", "Mixing cycles", "Aspiration cycles"} + ), + image_processing_custom_info=data.get_custom_keys( + {"Images", "Images for analysis"} + ), + data_processing_custom_info=data.get_custom_keys( + { + "Decluster degree", + "Minimum circularity", + "Viable spot area", + "Viable spot brightness (%)", + "Cell sharpness", + "Average background intensity", + "Bubble count", + "Cluster count" + } + ), + processed_data_custom_info=data.get_custom_keys( + {"Average cells per image"} + ), custom_info=data.get_unread(), ) ], diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json index 8f623ec42..44b9cc6d6 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json @@ -10,7 +10,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -19,6 +24,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 21.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -32,6 +40,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Bubble count": 0.0, + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -76,21 +93,18 @@ "sample document": { "sample identifier": "CLB001" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Bubble count": 0.0, - "Cluster count": 0.0, - "Images for analysis": 100.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Decluster degree": "Medium", - "Minimum circularity": 0.1, - "Viable spot brightness (%)": 50.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Average cells per image": 21.0, - "Average background intensity": 134.0, - "Images": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -104,7 +118,7 @@ "file name": "Beckman_Vi-Cell-BLU_different_mu_character.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.94", + "ASM converter version": "0.1.97", "software name": "Vi-Cell BLU" }, "device system document": { diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json index ec799c268..7efc8f3d8 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json @@ -10,7 +10,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -19,6 +24,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 21.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -32,6 +40,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -76,21 +93,18 @@ "sample document": { "sample identifier": "CLB001" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 21.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -105,7 +119,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -114,6 +133,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 76.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -127,6 +149,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 135.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -171,21 +202,18 @@ "sample document": { "sample identifier": "CLB002" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 135.0, - "Wash": "Normal Wash", - "Average cells per image": 76.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -200,7 +228,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -209,6 +242,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 15.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -222,6 +258,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -266,21 +311,18 @@ "sample document": { "sample identifier": "CLB003" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 15.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -295,7 +337,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -304,6 +351,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 31.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -317,6 +367,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -361,21 +420,18 @@ "sample document": { "sample identifier": "CLB005" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 31.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -390,7 +446,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -399,6 +460,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 24.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -412,6 +476,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -456,21 +529,18 @@ "sample document": { "sample identifier": "CLB006" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 24.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -485,7 +555,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -494,6 +569,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 29.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -507,6 +585,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -551,21 +638,18 @@ "sample document": { "sample identifier": "CLB007" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 29.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -580,7 +664,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -589,6 +678,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 70.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -602,6 +694,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 4.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -638,21 +739,18 @@ "sample document": { "sample identifier": "CLB008" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 4.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 70.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -667,7 +765,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -676,6 +779,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 52.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -689,6 +795,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 0.0, + "Decluster degree": "Medium", + "Average background intensity": 135.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -733,21 +848,18 @@ "sample document": { "sample identifier": "CLB009" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 0.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 135.0, - "Wash": "Normal Wash", - "Average cells per image": 52.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -762,7 +874,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -771,6 +888,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 113.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -784,6 +904,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 24.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -828,21 +957,18 @@ "sample document": { "sample identifier": "CLB010" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 24.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 134.0, - "Wash": "Normal Wash", - "Average cells per image": 113.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -857,7 +983,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Wash": "Normal Wash", + "Aspiration cycles": 3.0 + } } ] }, @@ -866,6 +997,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 97.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -879,6 +1013,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Cell sharpness": 7.0, + "Cluster count": 7.0, + "Decluster degree": "Medium", + "Average background intensity": 135.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 50.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -923,21 +1066,18 @@ "sample document": { "sample identifier": "CLB011" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 100.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 5.0, - "Cluster count": 7.0, - "Minimum circularity": 0.1, - "Cell sharpness": 7.0, - "Images": 100.0, - "Bubble count": 0.0, - "Average background intensity": 135.0, - "Wash": "Normal Wash", - "Average cells per image": 97.0, - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0, - "Decluster degree": "Medium", - "Viable spot brightness (%)": 50.0, - "Images for analysis": 100.0 + "Viable spot area (%)": 5.0 } } ] @@ -951,7 +1091,7 @@ "file name": "Beckman_Vi-Cell-BLU_example01.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.94", + "ASM converter version": "0.1.97", "software name": "Vi-Cell BLU" }, "device system document": { diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json index a575434ec..f681852ff 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json @@ -10,7 +10,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -19,6 +24,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 21.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -32,6 +40,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -76,21 +93,18 @@ "sample document": { "sample identifier": "CLB001" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 21.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -105,7 +119,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -114,6 +133,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 76.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -127,6 +149,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 135.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -171,21 +202,18 @@ "sample document": { "sample identifier": "CLB002" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 76.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 135.0 + "Viable spot area (%)": 5.0 } } ] @@ -200,7 +228,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -209,6 +242,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 15.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -222,6 +258,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -266,21 +311,18 @@ "sample document": { "sample identifier": "CLB003" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 15.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -295,7 +337,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -304,6 +351,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 31.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -317,6 +367,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -361,21 +420,18 @@ "sample document": { "sample identifier": "CLB005" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 31.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -390,7 +446,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -399,6 +460,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 24.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -412,6 +476,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -456,21 +529,18 @@ "sample document": { "sample identifier": "CLB006" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 24.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -485,7 +555,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -494,6 +569,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 29.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -507,6 +585,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -551,21 +638,18 @@ "sample document": { "sample identifier": "CLB007" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 29.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -580,7 +664,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -589,6 +678,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 70.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -602,6 +694,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 4.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -646,21 +747,18 @@ "sample document": { "sample identifier": "CLB008" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 70.0, - "Images for analysis": 100.0, - "Cluster count": 4.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -675,7 +773,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -684,6 +787,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 52.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -697,6 +803,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 135.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 0.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -741,21 +856,18 @@ "sample document": { "sample identifier": "CLB009" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 52.0, - "Images for analysis": 100.0, - "Cluster count": 0.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 135.0 + "Viable spot area (%)": 5.0 } } ] @@ -770,7 +882,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -779,6 +896,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 113.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -792,6 +912,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 24.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -836,21 +965,18 @@ "sample document": { "sample identifier": "CLB010" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 113.0, - "Images for analysis": 100.0, - "Cluster count": 24.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 134.0 + "Viable spot area (%)": 5.0 } } ] @@ -865,7 +991,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0, + "Wash": "Normal Wash" + } } ] }, @@ -874,6 +1005,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 97.0 + }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -887,6 +1021,15 @@ "maximum cell diameter setting": { "value": 30.0, "unit": "µm" + }, + "custom info": { + "Viable spot brightness (%)": 50.0, + "Bubble count": 0.0, + "Average background intensity": 135.0, + "Cell sharpness": 7.0, + "Decluster degree": "Medium", + "Cluster count": 7.0, + "Minimum circularity": 0.1 } }, "viability (cell counter)": { @@ -931,21 +1074,18 @@ "sample document": { "sample identifier": "CLB011" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images for analysis": 100.0, + "Images": 100.0 + } + } + ] + }, "custom information document": { - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Aspiration cycles": 3.0, - "Minimum circularity": 0.1, - "Average cells per image": 97.0, - "Images for analysis": 100.0, - "Cluster count": 7.0, - "Viable spot area (%)": 5.0, - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, - "Cell sharpness": 7.0, - "Wash": "Normal Wash", - "Images": 100.0, - "Average background intensity": 135.0 + "Viable spot area (%)": 5.0 } } ] @@ -959,7 +1099,7 @@ "file name": "Beckman_Vi-Cell-BLU_example01_utf16.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.94", + "ASM converter version": "0.1.97", "software name": "Vi-Cell BLU" }, "device system document": { diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json index b4aa7ce3a..de3aa0c3e 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json @@ -10,7 +10,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Aspiration cycles": 4.0, + "Wash": "Normal Wash" + } } ] }, @@ -19,6 +24,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 20.0 + }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -32,6 +40,15 @@ "maximum cell diameter setting": { "value": 50.0, "unit": "µm" + }, + "custom info": { + "Cluster count": 45.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Cell sharpness": 10.0, + "Decluster degree": "Medium", + "Average background intensity": 135.0, + "Minimum circularity": 0.0 } }, "viability (cell counter)": { @@ -76,21 +93,18 @@ "sample document": { "sample identifier": "CLB001" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 59.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 10.0, - "Images for analysis": 59.0, - "Cluster count": 45.0, - "Average background intensity": 135.0, - "Cell sharpness": 10.0, - "Average cells per image": 20.0, - "Minimum circularity": 0.0, - "Wash": "Normal Wash", - "Viable spot brightness (%)": 55.0, - "Bubble count": 0.0, - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Images": 100.0, - "Aspiration cycles": 4.0 + "Viable spot area (%)": 10.0 } } ] @@ -105,7 +119,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Aspiration cycles": 4.0, + "Wash": "Normal Wash" + } } ] }, @@ -114,6 +133,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 9.0 + }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -127,6 +149,15 @@ "maximum cell diameter setting": { "value": 50.0, "unit": "µm" + }, + "custom info": { + "Cluster count": 33.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Cell sharpness": 10.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Minimum circularity": 0.0 } }, "viability (cell counter)": { @@ -171,21 +202,18 @@ "sample document": { "sample identifier": "CLB002" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 51.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 10.0, - "Images for analysis": 51.0, - "Cluster count": 33.0, - "Average background intensity": 134.0, - "Cell sharpness": 10.0, - "Average cells per image": 9.0, - "Minimum circularity": 0.0, - "Wash": "Normal Wash", - "Viable spot brightness (%)": 55.0, - "Bubble count": 0.0, - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Images": 100.0, - "Aspiration cycles": 4.0 + "Viable spot area (%)": 10.0 } } ] @@ -200,7 +228,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Aspiration cycles": 4.0, + "Wash": "Normal Wash" + } } ] }, @@ -209,6 +242,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 34.0 + }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -222,6 +258,15 @@ "maximum cell diameter setting": { "value": 50.0, "unit": "µm" + }, + "custom info": { + "Cluster count": 41.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Cell sharpness": 10.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Minimum circularity": 0.0 } }, "viability (cell counter)": { @@ -266,21 +311,18 @@ "sample document": { "sample identifier": "CLB003" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 50.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 10.0, - "Images for analysis": 50.0, - "Cluster count": 41.0, - "Average background intensity": 134.0, - "Cell sharpness": 10.0, - "Average cells per image": 34.0, - "Minimum circularity": 0.0, - "Wash": "Normal Wash", - "Viable spot brightness (%)": 55.0, - "Bubble count": 0.0, - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Images": 100.0, - "Aspiration cycles": 4.0 + "Viable spot area (%)": 10.0 } } ] @@ -295,7 +337,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Aspiration cycles": 4.0, + "Wash": "Normal Wash" + } } ] }, @@ -304,6 +351,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 28.0 + }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -317,6 +367,15 @@ "maximum cell diameter setting": { "value": 50.0, "unit": "µm" + }, + "custom info": { + "Cluster count": 40.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Cell sharpness": 10.0, + "Decluster degree": "Medium", + "Average background intensity": 135.0, + "Minimum circularity": 0.0 } }, "viability (cell counter)": { @@ -361,21 +420,18 @@ "sample document": { "sample identifier": "CLB004" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 62.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 10.0, - "Images for analysis": 62.0, - "Cluster count": 40.0, - "Average background intensity": 135.0, - "Cell sharpness": 10.0, - "Average cells per image": 28.0, - "Minimum circularity": 0.0, - "Wash": "Normal Wash", - "Viable spot brightness (%)": 55.0, - "Bubble count": 0.0, - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Images": 100.0, - "Aspiration cycles": 4.0 + "Viable spot area (%)": 10.0 } } ] @@ -390,7 +446,12 @@ "device control document": [ { "device type": "brightfield imager (cell counter)", - "detection type": "brightfield" + "detection type": "brightfield", + "custom info": { + "Mixing cycles": 3.0, + "Aspiration cycles": 4.0, + "Wash": "Normal Wash" + } } ] }, @@ -399,6 +460,9 @@ "processed data aggregate document": { "processed data document": [ { + "custom info": { + "Average cells per image": 16.0 + }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -412,6 +476,15 @@ "maximum cell diameter setting": { "value": 50.0, "unit": "µm" + }, + "custom info": { + "Cluster count": 58.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Cell sharpness": 10.0, + "Decluster degree": "Medium", + "Average background intensity": 134.0, + "Minimum circularity": 0.0 } }, "viability (cell counter)": { @@ -456,21 +529,18 @@ "sample document": { "sample identifier": "CLB005" }, + "image aggregate document": { + "image document": [ + { + "custom info": { + "Images": 100.0, + "Images for analysis": 50.0 + } + } + ] + }, "custom information document": { - "Viable spot area (%)": 10.0, - "Images for analysis": 50.0, - "Cluster count": 58.0, - "Average background intensity": 134.0, - "Cell sharpness": 10.0, - "Average cells per image": 16.0, - "Minimum circularity": 0.0, - "Wash": "Normal Wash", - "Viable spot brightness (%)": 55.0, - "Bubble count": 0.0, - "Mixing cycles": 3.0, - "Decluster degree": "Medium", - "Images": 100.0, - "Aspiration cycles": 4.0 + "Viable spot area (%)": 10.0 } } ] @@ -484,7 +554,7 @@ "file name": "Beckman_Vi-Cell-BLU_example02.csv", "UNC path": "tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.csv", "ASM converter name": "allotropy_beckman_coulter_vi_cell_blu", - "ASM converter version": "0.1.94", + "ASM converter version": "0.1.97", "software name": "Vi-Cell BLU" }, "device system document": { From 0e94934c3bb06299aede91d55c2d3f4e7fe8dcdc Mon Sep 17 00:00:00 2001 From: Felipe Narvaez Date: Fri, 27 Jun 2025 12:32:13 -0500 Subject: [PATCH 3/5] Removed fields from model and modified mappers --- .../rec/_2024/_09/cell_counting.py | 4 - .../rec/_2024/_09/cell_counting.py | 62 +++-- ...an_Vi-Cell-BLU_different_mu_character.json | 28 +- .../Beckman_Vi-Cell-BLU_example01.json | 200 +++++++-------- .../Beckman_Vi-Cell-BLU_example01_utf16.json | 240 +++++++++--------- .../Beckman_Vi-Cell-BLU_example02.json | 110 ++++---- 6 files changed, 323 insertions(+), 321 deletions(-) diff --git a/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py b/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py index 29fee6d56..dec47dd80 100644 --- a/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py +++ b/src/allotropy/allotrope/models/adm/cell_counting/rec/_2024/_09/cell_counting.py @@ -72,7 +72,6 @@ class ErrorAggregateDocument: class ImageDocumentItem: experimental_data_identifier: TStringValue | None = None index: TIntegerValue | None = None - custom_info: dict[str, Any] | None = None @dataclass(kw_only=True) @@ -117,7 +116,6 @@ class DataProcessingDocument: cell_density_dilution_factor: TQuantityValueUnitless | None = None minimum_cell_diameter_setting: TQuantityValueMicrometer | None = None maximum_cell_diameter_setting: TQuantityValueMicrometer | None = None - custom_info: dict[str, Any] | None = None @dataclass(kw_only=True) @@ -252,7 +250,6 @@ class DeviceControlDocumentItem: excitation_bandwidth_setting: TQuantityValueNanometer | None = None excitation_wavelength_setting: TQuantityValueNanometer | None = None fluorescent_tag_setting: TStringValue | None = None - custom_info: dict[str, Any] | None = None @dataclass(kw_only=True) @@ -266,7 +263,6 @@ class DeviceControlAggregateDocument: @dataclass(kw_only=True) class ProcessedDataDocumentItem: fluorescent_tag_positive_cell_count: TQuantityValueCell | None = None - custom_info: dict[str, Any] | None = None custom_information_aggregate_document: CustomInformationAggregateDocument | None = ( None ) diff --git a/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py b/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py index 1c2b1c819..6015f1027 100644 --- a/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py +++ b/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py @@ -229,21 +229,24 @@ def _get_technique_document( def _get_measurement_document( self, measurement: Measurement, metadata: Metadata ) -> MeasurementDocument: + device_control_doc = DeviceControlDocumentItem( + device_type=metadata.device_type, + detection_type=metadata.detection_type, + sample_volume_setting=quantity_or_none( + TQuantityValueMicroliter, + measurement.sample_volume_setting, + ) + ) + device_control_doc = add_custom_information_document( + device_control_doc, measurement.device_control_custom_info or {} + ) measurement_document = MeasurementDocument( measurement_time=self.get_date_time(measurement.timestamp), measurement_identifier=measurement.measurement_identifier, sample_document=self._get_sample_document(measurement), device_control_aggregate_document=DeviceControlAggregateDocument( device_control_document=[ - DeviceControlDocumentItem( - device_type=metadata.device_type, - detection_type=metadata.detection_type, - sample_volume_setting=quantity_or_none( - TQuantityValueMicroliter, - measurement.sample_volume_setting, - ), - custom_info=measurement.device_control_custom_info, - ) + device_control_doc ] ), processed_data_aggregate_document=self._get_processed_data_aggregate_document( @@ -254,9 +257,11 @@ def _get_measurement_document( ), image_aggregate_document=ImageAggregateDocument( image_document=[ - ImageDocumentItem( - experimental_data_identifier=measurement.experimental_data_identifier, - custom_info=measurement.image_processing_custom_info + add_custom_information_document( + ImageDocumentItem( + experimental_data_identifier=measurement.experimental_data_identifier + ), + measurement.image_processing_custom_info or {} ) ], ) @@ -330,21 +335,23 @@ def _get_processed_data_aggregate_document( TQuantityValueUnitless, measurement.debris_index ), } - data_processing_document = DataProcessingDocument( - cell_type_processing_method=measurement.cell_type_processing_method, - minimum_cell_diameter_setting=quantity_or_none( - TQuantityValueMicrometer, - measurement.minimum_cell_diameter_setting, - ), - maximum_cell_diameter_setting=quantity_or_none( - TQuantityValueMicrometer, - measurement.maximum_cell_diameter_setting, - ), - cell_density_dilution_factor=quantity_or_none( - TQuantityValueUnitless, - measurement.cell_density_dilution_factor, + data_processing_document = add_custom_information_document( + DataProcessingDocument( + cell_type_processing_method=measurement.cell_type_processing_method, + minimum_cell_diameter_setting=quantity_or_none( + TQuantityValueMicrometer, + measurement.minimum_cell_diameter_setting, + ), + maximum_cell_diameter_setting=quantity_or_none( + TQuantityValueMicrometer, + measurement.maximum_cell_diameter_setting, + ), + cell_density_dilution_factor=quantity_or_none( + TQuantityValueUnitless, + measurement.cell_density_dilution_factor, + ), ), - custom_info=measurement.data_processing_custom_info, + measurement.data_processing_custom_info or {} ) processed_data_document = ProcessedDataDocumentItem( processed_data_identifier=measurement.processed_data_identifier, @@ -353,7 +360,6 @@ def _get_processed_data_aggregate_document( if has_value(data_processing_document) else None ), - custom_info=measurement.processed_data_custom_info, viability__cell_counter_=TQuantityValuePercent(value=measurement.viability), viable_cell_density__cell_counter_=TQuantityValueMillionCellsPerMilliliter( value=measurement.viable_cell_density @@ -399,7 +405,7 @@ def _get_processed_data_aggregate_document( return ProcessedDataAggregateDocument( processed_data_document=[ add_custom_information_document( - processed_data_document, custom_document + processed_data_document, custom_document | (measurement.processed_data_custom_info or {}) ) ] ) diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json index 44b9cc6d6..bcf76ed81 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json @@ -11,10 +11,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -24,9 +24,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 21.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -41,14 +38,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Cell sharpness": 7.0, + "custom information document": { + "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, + "Cell sharpness": 7.0, "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Decluster degree": "Medium", - "Cluster count": 0.0, - "Bubble count": 0.0, - "Average background intensity": 134.0 + "Cluster count": 0.0 } }, "viability (cell counter)": { @@ -86,6 +83,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 21.0 } } ] @@ -96,9 +96,9 @@ "image aggregate document": { "image document": [ { - "custom info": { - "Images": 100.0, - "Images for analysis": 100.0 + "custom information document": { + "Images for analysis": 100.0, + "Images": 100.0 } } ] diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json index 7efc8f3d8..2274e0ef8 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json @@ -11,9 +11,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -24,9 +24,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 21.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -41,14 +38,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -86,6 +83,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 21.0 } } ] @@ -96,7 +96,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -120,9 +120,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -133,9 +133,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 76.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -150,14 +147,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 135.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 135.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -195,6 +192,9 @@ "average viable cell circularity": { "value": 0.91, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 76.0 } } ] @@ -205,7 +205,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -229,9 +229,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -242,9 +242,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 15.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -259,14 +256,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -304,6 +301,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 15.0 } } ] @@ -314,7 +314,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -338,9 +338,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -351,9 +351,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 31.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -368,14 +365,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -413,6 +410,9 @@ "average viable cell circularity": { "value": 0.91, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 31.0 } } ] @@ -423,7 +423,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -447,9 +447,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -460,9 +460,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 24.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -477,14 +474,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -522,6 +519,9 @@ "average viable cell circularity": { "value": 0.87, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 24.0 } } ] @@ -532,7 +532,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -556,9 +556,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -569,9 +569,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 29.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -586,14 +583,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -631,6 +628,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 29.0 } } ] @@ -641,7 +641,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -665,9 +665,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -678,9 +678,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 70.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -695,14 +692,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 4.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -732,6 +729,9 @@ "average viable cell circularity": { "value": 0.87, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 70.0 } } ] @@ -742,7 +742,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -766,9 +766,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -779,9 +779,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 52.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -796,14 +793,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 135.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Decluster degree": "Medium", - "Average background intensity": 135.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -841,6 +838,9 @@ "average viable cell circularity": { "value": 0.89, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 52.0 } } ] @@ -851,7 +851,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -875,9 +875,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -888,9 +888,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 113.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -905,14 +902,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 24.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -950,6 +947,9 @@ "average viable cell circularity": { "value": 0.89, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 113.0 } } ] @@ -960,7 +960,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } @@ -984,9 +984,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Wash": "Normal Wash", + "Mixing cycles": 3.0, "Aspiration cycles": 3.0 } } @@ -997,9 +997,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 97.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -1014,14 +1011,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Minimum circularity": 0.1, + "Average background intensity": 135.0, "Cell sharpness": 7.0, "Cluster count": 7.0, - "Decluster degree": "Medium", - "Average background intensity": 135.0, "Bubble count": 0.0, "Viable spot brightness (%)": 50.0, - "Minimum circularity": 0.1 + "Decluster degree": "Medium" } }, "viability (cell counter)": { @@ -1059,6 +1056,9 @@ "average viable cell circularity": { "value": 0.89, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 97.0 } } ] @@ -1069,7 +1069,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 100.0 } diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json index f681852ff..cb72823f9 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json @@ -11,10 +11,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -24,9 +24,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 21.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -41,14 +38,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -86,6 +83,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 21.0 } } ] @@ -96,7 +96,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -120,10 +120,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -133,9 +133,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 76.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -150,14 +147,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 135.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -195,6 +192,9 @@ "average viable cell circularity": { "value": 0.91, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 76.0 } } ] @@ -205,7 +205,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -229,10 +229,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -242,9 +242,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 15.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -259,14 +256,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -304,6 +301,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 15.0 } } ] @@ -314,7 +314,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -338,10 +338,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -351,9 +351,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 31.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -368,14 +365,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -413,6 +410,9 @@ "average viable cell circularity": { "value": 0.91, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 31.0 } } ] @@ -423,7 +423,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -447,10 +447,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -460,9 +460,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 24.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -477,14 +474,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -522,6 +519,9 @@ "average viable cell circularity": { "value": 0.87, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 24.0 } } ] @@ -532,7 +532,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -556,10 +556,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -569,9 +569,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 29.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -586,14 +583,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -631,6 +628,9 @@ "average viable cell circularity": { "value": 0.88, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 29.0 } } ] @@ -641,7 +641,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -665,10 +665,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -678,9 +678,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 70.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -695,14 +692,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 4.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -740,6 +737,9 @@ "average viable cell circularity": { "value": 0.87, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 70.0 } } ] @@ -750,7 +750,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -774,10 +774,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -787,9 +787,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 52.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -804,14 +801,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 135.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 0.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -849,6 +846,9 @@ "average viable cell circularity": { "value": 0.89, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 52.0 } } ] @@ -859,7 +859,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -883,10 +883,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -896,9 +896,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 113.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -913,14 +910,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 134.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 24.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -958,6 +955,9 @@ "average viable cell circularity": { "value": 0.89, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 113.0 } } ] @@ -968,7 +968,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } @@ -992,10 +992,10 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Aspiration cycles": 3.0, + "custom information document": { + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 3.0 } } ] @@ -1005,9 +1005,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 97.0 - }, "data processing document": { "cell type processing method": "Mammalian", "cell density dilution factor": { @@ -1022,14 +1019,14 @@ "value": 30.0, "unit": "µm" }, - "custom info": { - "Viable spot brightness (%)": 50.0, - "Bubble count": 0.0, + "custom information document": { "Average background intensity": 135.0, - "Cell sharpness": 7.0, + "Minimum circularity": 0.1, + "Bubble count": 0.0, "Decluster degree": "Medium", "Cluster count": 7.0, - "Minimum circularity": 0.1 + "Cell sharpness": 7.0, + "Viable spot brightness (%)": 50.0 } }, "viability (cell counter)": { @@ -1067,6 +1064,9 @@ "average viable cell circularity": { "value": 0.89, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 97.0 } } ] @@ -1077,7 +1077,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images for analysis": 100.0, "Images": 100.0 } diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json index de3aa0c3e..07b94c99d 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json @@ -11,9 +11,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Aspiration cycles": 4.0, + "Mixing cycles": 3.0, "Wash": "Normal Wash" } } @@ -24,9 +24,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 20.0 - }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -41,14 +38,14 @@ "value": 50.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Average background intensity": 135.0, + "Decluster degree": "Medium", "Cluster count": 45.0, + "Minimum circularity": 0.0, "Bubble count": 0.0, - "Viable spot brightness (%)": 55.0, "Cell sharpness": 10.0, - "Decluster degree": "Medium", - "Average background intensity": 135.0, - "Minimum circularity": 0.0 + "Viable spot brightness (%)": 55.0 } }, "viability (cell counter)": { @@ -86,6 +83,9 @@ "average viable cell circularity": { "value": 0.91, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 20.0 } } ] @@ -96,7 +96,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 59.0 } @@ -120,9 +120,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Aspiration cycles": 4.0, + "Mixing cycles": 3.0, "Wash": "Normal Wash" } } @@ -133,9 +133,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 9.0 - }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -150,14 +147,14 @@ "value": 50.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Average background intensity": 134.0, + "Decluster degree": "Medium", "Cluster count": 33.0, + "Minimum circularity": 0.0, "Bubble count": 0.0, - "Viable spot brightness (%)": 55.0, "Cell sharpness": 10.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, - "Minimum circularity": 0.0 + "Viable spot brightness (%)": 55.0 } }, "viability (cell counter)": { @@ -195,6 +192,9 @@ "average viable cell circularity": { "value": 0.92, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 9.0 } } ] @@ -205,7 +205,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 51.0 } @@ -229,9 +229,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Aspiration cycles": 4.0, + "Mixing cycles": 3.0, "Wash": "Normal Wash" } } @@ -242,9 +242,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 34.0 - }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -259,14 +256,14 @@ "value": 50.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Average background intensity": 134.0, + "Decluster degree": "Medium", "Cluster count": 41.0, + "Minimum circularity": 0.0, "Bubble count": 0.0, - "Viable spot brightness (%)": 55.0, "Cell sharpness": 10.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, - "Minimum circularity": 0.0 + "Viable spot brightness (%)": 55.0 } }, "viability (cell counter)": { @@ -304,6 +301,9 @@ "average viable cell circularity": { "value": 0.9, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 34.0 } } ] @@ -314,7 +314,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 50.0 } @@ -338,9 +338,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Aspiration cycles": 4.0, + "Mixing cycles": 3.0, "Wash": "Normal Wash" } } @@ -351,9 +351,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 28.0 - }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -368,14 +365,14 @@ "value": 50.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Average background intensity": 135.0, + "Decluster degree": "Medium", "Cluster count": 40.0, + "Minimum circularity": 0.0, "Bubble count": 0.0, - "Viable spot brightness (%)": 55.0, "Cell sharpness": 10.0, - "Decluster degree": "Medium", - "Average background intensity": 135.0, - "Minimum circularity": 0.0 + "Viable spot brightness (%)": 55.0 } }, "viability (cell counter)": { @@ -413,6 +410,9 @@ "average viable cell circularity": { "value": 0.91, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 28.0 } } ] @@ -423,7 +423,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 62.0 } @@ -447,9 +447,9 @@ { "device type": "brightfield imager (cell counter)", "detection type": "brightfield", - "custom info": { - "Mixing cycles": 3.0, + "custom information document": { "Aspiration cycles": 4.0, + "Mixing cycles": 3.0, "Wash": "Normal Wash" } } @@ -460,9 +460,6 @@ "processed data aggregate document": { "processed data document": [ { - "custom info": { - "Average cells per image": 16.0 - }, "data processing document": { "cell type processing method": "HeLa (😢)", "cell density dilution factor": { @@ -477,14 +474,14 @@ "value": 50.0, "unit": "µm" }, - "custom info": { + "custom information document": { + "Average background intensity": 134.0, + "Decluster degree": "Medium", "Cluster count": 58.0, + "Minimum circularity": 0.0, "Bubble count": 0.0, - "Viable spot brightness (%)": 55.0, "Cell sharpness": 10.0, - "Decluster degree": "Medium", - "Average background intensity": 134.0, - "Minimum circularity": 0.0 + "Viable spot brightness (%)": 55.0 } }, "viability (cell counter)": { @@ -522,6 +519,9 @@ "average viable cell circularity": { "value": 0.92, "unit": "(unitless)" + }, + "custom information document": { + "Average cells per image": 16.0 } } ] @@ -532,7 +532,7 @@ "image aggregate document": { "image document": [ { - "custom info": { + "custom information document": { "Images": 100.0, "Images for analysis": 50.0 } From 589dd4a85dea56424fa123b07d4130df0e3a6366 Mon Sep 17 00:00:00 2001 From: Felipe Narvaez Date: Fri, 27 Jun 2025 12:59:42 -0500 Subject: [PATCH 4/5] formatted changes --- .../cell_counting/rec/_2024/_09/cell_counting.py | 16 ++++++++-------- .../beckman_vi_cell_blu/vi_cell_blu_structure.py | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py b/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py index 6015f1027..78f1668fc 100644 --- a/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py +++ b/src/allotropy/allotrope/schema_mappers/adm/cell_counting/rec/_2024/_09/cell_counting.py @@ -235,7 +235,7 @@ def _get_measurement_document( sample_volume_setting=quantity_or_none( TQuantityValueMicroliter, measurement.sample_volume_setting, - ) + ), ) device_control_doc = add_custom_information_document( device_control_doc, measurement.device_control_custom_info or {} @@ -245,9 +245,7 @@ def _get_measurement_document( measurement_identifier=measurement.measurement_identifier, sample_document=self._get_sample_document(measurement), device_control_aggregate_document=DeviceControlAggregateDocument( - device_control_document=[ - device_control_doc - ] + device_control_document=[device_control_doc] ), processed_data_aggregate_document=self._get_processed_data_aggregate_document( measurement @@ -261,11 +259,12 @@ def _get_measurement_document( ImageDocumentItem( experimental_data_identifier=measurement.experimental_data_identifier ), - measurement.image_processing_custom_info or {} + measurement.image_processing_custom_info or {}, ) ], ) - if measurement.experimental_data_identifier or measurement.image_processing_custom_info + if measurement.experimental_data_identifier + or measurement.image_processing_custom_info else None, ) return add_custom_information_document( @@ -351,7 +350,7 @@ def _get_processed_data_aggregate_document( measurement.cell_density_dilution_factor, ), ), - measurement.data_processing_custom_info or {} + measurement.data_processing_custom_info or {}, ) processed_data_document = ProcessedDataDocumentItem( processed_data_identifier=measurement.processed_data_identifier, @@ -405,7 +404,8 @@ def _get_processed_data_aggregate_document( return ProcessedDataAggregateDocument( processed_data_document=[ add_custom_information_document( - processed_data_document, custom_document | (measurement.processed_data_custom_info or {}) + processed_data_document, + custom_document | (measurement.processed_data_custom_info or {}), ) ] ) diff --git a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py index b14956efe..fe2bab44e 100644 --- a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py +++ b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py @@ -68,7 +68,7 @@ def create_measurement_group(data: SeriesData) -> MeasurementGroup: "Cell sharpness", "Average background intensity", "Bubble count", - "Cluster count" + "Cluster count", } ), processed_data_custom_info=data.get_custom_keys( From 6cfc176c0ad1908ffc37793bb2e8a51d68252618 Mon Sep 17 00:00:00 2001 From: Felipe Narvaez Date: Tue, 1 Jul 2025 09:48:15 -0500 Subject: [PATCH 5/5] added missing field --- .../vi_cell_blu_structure.py | 2 +- ...an_Vi-Cell-BLU_different_mu_character.json | 20 +- .../Beckman_Vi-Cell-BLU_example01.json | 200 +++++++--------- .../Beckman_Vi-Cell-BLU_example01_utf16.json | 220 ++++++++---------- .../Beckman_Vi-Cell-BLU_example02.json | 80 +++---- 5 files changed, 235 insertions(+), 287 deletions(-) diff --git a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py index fe2bab44e..c7bb3663b 100644 --- a/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py +++ b/src/allotropy/parsers/beckman_vi_cell_blu/vi_cell_blu_structure.py @@ -63,7 +63,7 @@ def create_measurement_group(data: SeriesData) -> MeasurementGroup: { "Decluster degree", "Minimum circularity", - "Viable spot area", + "Viable spot area (%)", "Viable spot brightness (%)", "Cell sharpness", "Average background intensity", diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json index bcf76ed81..92055d231 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_different_mu_character.json @@ -13,8 +13,8 @@ "detection type": "brightfield", "custom information document": { "Wash": "Normal Wash", - "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Mixing cycles": 3.0 } } ] @@ -40,12 +40,13 @@ }, "custom information document": { "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Cell sharpness": 7.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, + "Cluster count": 0.0, "Decluster degree": "Medium", - "Cluster count": 0.0 + "Viable spot brightness (%)": 50.0, + "Viable spot area (%)": 5.0, + "Average background intensity": 134.0, + "Cell sharpness": 7.0 } }, "viability (cell counter)": { @@ -97,14 +98,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json index 2274e0ef8..0f167947b 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01.json @@ -12,9 +12,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -39,13 +39,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -97,14 +98,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -121,9 +119,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -148,13 +146,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 135.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 135.0 } }, "viability (cell counter)": { @@ -206,14 +205,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -230,9 +226,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -257,13 +253,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -315,14 +312,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -339,9 +333,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -366,13 +360,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -424,14 +419,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -448,9 +440,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -475,13 +467,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -533,14 +526,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -557,9 +547,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -584,13 +574,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -642,14 +633,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -666,9 +654,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -693,13 +681,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 4.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -743,14 +732,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -767,9 +753,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -794,13 +780,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 135.0, "Cell sharpness": 7.0, "Cluster count": 0.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 135.0 } }, "viability (cell counter)": { @@ -852,14 +839,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -876,9 +860,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -903,13 +887,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 134.0, "Cell sharpness": 7.0, "Cluster count": 24.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -961,14 +946,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -985,9 +967,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", + "Aspiration cycles": 3.0, "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Wash": "Normal Wash" } } ] @@ -1012,13 +994,14 @@ "unit": "µm" }, "custom information document": { + "Decluster degree": "Medium", + "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Minimum circularity": 0.1, - "Average background intensity": 135.0, "Cell sharpness": 7.0, "Cluster count": 7.0, - "Bubble count": 0.0, - "Viable spot brightness (%)": 50.0, - "Decluster degree": "Medium" + "Average background intensity": 135.0 } }, "viability (cell counter)": { @@ -1070,14 +1053,11 @@ "image document": [ { "custom information document": { - "Images": 100.0, - "Images for analysis": 100.0 + "Images for analysis": 100.0, + "Images": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json index cb72823f9..d3b9fd77d 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example01_utf16.json @@ -12,9 +12,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -39,13 +39,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -97,14 +98,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -121,9 +119,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -148,13 +146,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 135.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 135.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -206,14 +205,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -230,9 +226,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -257,13 +253,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -315,14 +312,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -339,9 +333,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -366,13 +360,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -424,14 +419,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -448,9 +440,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -475,13 +467,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -533,14 +526,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -557,9 +547,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -584,13 +574,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -642,14 +633,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -666,9 +654,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -693,13 +681,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 4.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 4.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -751,14 +740,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -775,9 +761,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -802,13 +788,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 135.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 0.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 135.0, + "Cluster count": 0.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -860,14 +847,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -884,9 +868,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -911,13 +895,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 24.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 134.0, + "Cluster count": 24.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -969,14 +954,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] @@ -993,9 +975,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Aspiration cycles": 3.0 + "Aspiration cycles": 3.0, + "Wash": "Normal Wash" } } ] @@ -1020,13 +1002,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 135.0, - "Minimum circularity": 0.1, - "Bubble count": 0.0, + "Viable spot area (%)": 5.0, + "Viable spot brightness (%)": 50.0, "Decluster degree": "Medium", - "Cluster count": 7.0, "Cell sharpness": 7.0, - "Viable spot brightness (%)": 50.0 + "Minimum circularity": 0.1, + "Average background intensity": 135.0, + "Cluster count": 7.0, + "Bubble count": 0.0 } }, "viability (cell counter)": { @@ -1078,14 +1061,11 @@ "image document": [ { "custom information document": { - "Images for analysis": 100.0, - "Images": 100.0 + "Images": 100.0, + "Images for analysis": 100.0 } } ] - }, - "custom information document": { - "Viable spot area (%)": 5.0 } } ] diff --git a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json index 07b94c99d..afa059516 100644 --- a/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json +++ b/tests/parsers/beckman_vi_cell_blu/testdata/Beckman_Vi-Cell-BLU_example02.json @@ -12,9 +12,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Aspiration cycles": 4.0, + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 4.0 } } ] @@ -39,13 +39,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 135.0, "Decluster degree": "Medium", - "Cluster count": 45.0, "Minimum circularity": 0.0, - "Bubble count": 0.0, + "Cluster count": 45.0, "Cell sharpness": 10.0, - "Viable spot brightness (%)": 55.0 + "Viable spot area (%)": 10.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Average background intensity": 135.0 } }, "viability (cell counter)": { @@ -102,9 +103,6 @@ } } ] - }, - "custom information document": { - "Viable spot area (%)": 10.0 } } ] @@ -121,9 +119,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Aspiration cycles": 4.0, + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 4.0 } } ] @@ -148,13 +146,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, "Decluster degree": "Medium", - "Cluster count": 33.0, "Minimum circularity": 0.0, - "Bubble count": 0.0, + "Cluster count": 33.0, "Cell sharpness": 10.0, - "Viable spot brightness (%)": 55.0 + "Viable spot area (%)": 10.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -211,9 +210,6 @@ } } ] - }, - "custom information document": { - "Viable spot area (%)": 10.0 } } ] @@ -230,9 +226,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Aspiration cycles": 4.0, + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 4.0 } } ] @@ -257,13 +253,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, "Decluster degree": "Medium", - "Cluster count": 41.0, "Minimum circularity": 0.0, - "Bubble count": 0.0, + "Cluster count": 41.0, "Cell sharpness": 10.0, - "Viable spot brightness (%)": 55.0 + "Viable spot area (%)": 10.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -320,9 +317,6 @@ } } ] - }, - "custom information document": { - "Viable spot area (%)": 10.0 } } ] @@ -339,9 +333,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Aspiration cycles": 4.0, + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 4.0 } } ] @@ -366,13 +360,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 135.0, "Decluster degree": "Medium", - "Cluster count": 40.0, "Minimum circularity": 0.0, - "Bubble count": 0.0, + "Cluster count": 40.0, "Cell sharpness": 10.0, - "Viable spot brightness (%)": 55.0 + "Viable spot area (%)": 10.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Average background intensity": 135.0 } }, "viability (cell counter)": { @@ -429,9 +424,6 @@ } } ] - }, - "custom information document": { - "Viable spot area (%)": 10.0 } } ] @@ -448,9 +440,9 @@ "device type": "brightfield imager (cell counter)", "detection type": "brightfield", "custom information document": { - "Aspiration cycles": 4.0, + "Wash": "Normal Wash", "Mixing cycles": 3.0, - "Wash": "Normal Wash" + "Aspiration cycles": 4.0 } } ] @@ -475,13 +467,14 @@ "unit": "µm" }, "custom information document": { - "Average background intensity": 134.0, "Decluster degree": "Medium", - "Cluster count": 58.0, "Minimum circularity": 0.0, - "Bubble count": 0.0, + "Cluster count": 58.0, "Cell sharpness": 10.0, - "Viable spot brightness (%)": 55.0 + "Viable spot area (%)": 10.0, + "Bubble count": 0.0, + "Viable spot brightness (%)": 55.0, + "Average background intensity": 134.0 } }, "viability (cell counter)": { @@ -538,9 +531,6 @@ } } ] - }, - "custom information document": { - "Viable spot area (%)": 10.0 } } ]