Match Spatial ------------- .. uml:: skinparam style strictuml hide footbox title Spatial/Spectral Matching workflow actor User box "Client-side" #EDEDED participant Frontend end box box "Server-side" #lightblue participant Backend end box User -> Frontend: Open reference image activate Frontend Frontend -> Backend : 1. OPEN_FILE activate Backend Frontend <-- Backend : 2. OPEN_FILE_ACK deactivate Backend deactivate Frontend User -> Frontend: Open matched image activate Frontend Frontend -> Backend : 3. OPEN_FILE activate Backend Frontend <-- Backend : 4. OPEN_FILE_ACK deactivate Backend deactivate Frontend User -> Frontend: Set cursor / region activate Frontend Frontend -> Backend : 5. SET_CURSOR / SET_REGION activate Backend Frontend -> Backend : 6. SET_SPATIAL_REQUIREMENTS / SET_STATS_REQUIREMENTS Frontend <--[#red] Backend : 7. SPATIAL_PROFILE_DATA / REGION_STATS_DATA [Check 1] deactivate Backend User <-- Frontend: Displays matched results deactivate Frontend MATCH_SPATIAL ~~~~~~~~~~~~~ See the `source code `__. This test verifies cursor value and spatial profile consistency with spatially matched images across 4 related image files. 1. Frontend sends: **OPEN_FILE** (``OpenFile``) for 4 images .. code-block:: protobuf file = "HD163296_CO_2_1.fits", file_id = 100 file = "HD163296_13CO_2-1.fits", file_id = 101 file = "HD163296_C18O_2-1.fits", file_id = 102 file = "HD163296_CO_2_1.image", file_id = 103 2. Frontend sends: **SET_CURSOR** (``SetCursor``) at (200.0, 200.0) 3. Frontend sends: **SET_SPATIAL_REQUIREMENTS** (``SetSpatialRequirements``) for x and y coordinates 4. Backend returns: **SPATIAL_PROFILE_DATA** (``SpatialProfileData``) for all images :red-text:`Check 1:` the spatial profile data should satisfy: - Cursor value for fileId 100 = -0.0023265306372195482 - Spatial profile data matches across all 4 images with 4 decimal precision - x coordinate raw profile values at indices [0, 500, 1000, 1500] = [36, 242, 86, 48] - y coordinate raw profile values at indices [0, 500, 1000, 1500] = [84, 163, 231, 66] - Profiles array has end = 432 for both x and y