Scénario de test & Cas d'usage
Procesamiento, manipulación y análisis de imágenes.
Descubrir todas las acciones de imageCreación de datos con valores 'missing' (.) en la columna de emparejamiento 'patient_id' para probar el comportamiento de error o exclusión.
| 1 | |
| 2 | DATA casuser.current_scans; |
| 3 | LENGTH _path_ $100 patient_id 8; |
| 4 | INPUT _path_ $ patient_id; |
| 5 | DATALINES; |
| 6 | "/xray/2024/001.png" 101 "/xray/2024/002.png" . "/xray/2024/003.png" 103 ; |
| 7 | |
| 8 | RUN; |
| 9 | |
| 10 | DATA casuser.history_scans; |
| 11 | LENGTH _path_ $100 patient_id 8; |
| 12 | INPUT _path_ $ patient_id; |
| 13 | DATALINES; |
| 14 | "/xray/2020/old_101.png" 101 "/xray/2020/old_999.png" . "/xray/2020/old_103.png" 103 ; |
| 15 | |
| 16 | RUN; |
| 17 |
| 1 | |
| 2 | PROC CAS; |
| 3 | image.compareImages / TABLE={name='current_scans', caslib='casuser'}, referenceImages={TABLE={name='history_scans', caslib='casuser'}}, pairSourceOn='patient_id', pairReferenceOn='patient_id', separateChannels=true, casOut={name='clinical_comparison', caslib='casuser', replace=true}; |
| 4 | |
| 5 | RUN; |
| 6 | |
| 7 | QUIT; |
| 8 |
Se espera que la tabla 'clinical_comparison' se genere correctamente pero SOLO contenga resultados para los pacientes 101 y 103. Las filas con 'patient_id' nulo (missing) deben ser excluidas automáticamente del proceso de emparejamiento sin provocar un fallo fatal en la acción (crash). Al usar `separateChannels=true`, la salida incluirá columnas de comparación para cada canal (ej. _ssim_blue_, _ssim_green_, etc.) en lugar de un promedio global.