image annotateImages

Segmentación de Tumores con Datos de Máscara Incompletos o Ausentes

Scénario de test & Cas d'usage

Contexto empresarial

Un hospital utiliza un modelo de IA para generar máscaras de segmentación de tumores en resonancias magnéticas. Ocasionalmente, el modelo falla o no encuentra un tumor, resultando en datos de máscara ausentes. Este escenario de caso límite prueba la robustez de `annotateImages` al procesar un lote de imágenes donde algunas máscaras de segmentación son nulas.
Sobre el conjunto : image

Procesamiento, manipulación y análisis de imágenes.

Descubrir todas las acciones de image
Preparación de datos

Crea una tabla `mri_scans_y_mascaras` que contiene la imagen del escáner y la imagen de la máscara de segmentación en la misma fila. Se introducen casos límite: una fila tiene una máscara nula (`_mask_` está en blanco) para simular un fallo del modelo de IA.

¡Copiado!
1DATA casuser.mri_scans_y_mascaras(replace=yes);
2 LENGTH _image_ $ 50;
3 LENGTH _mask_ $ 50;
4 /* Caso válido: imagen y máscara existen */
5 _image_ = 'mri_01.png'; _mask_ = 'mask_01.png'; OUTPUT;
6 /* Caso límite: máscara ausente */
7 _image_ = 'mri_02.png'; _mask_ = ''; OUTPUT;
8 /* Caso válido: imagen y máscara existen */
9 _image_ = 'mri_03.png'; _mask_ = 'mask_03.png'; OUTPUT;
10RUN;

Étapes de réalisation

1
Ejecutar `annotateImages` para aplicar las máscaras de segmentación. Se espera que la acción procese las filas válidas e ignore o maneje sin errores la fila con la máscara ausente.
¡Copiado!
1PROC CAS;
2 LOADACTIONSET 'image';
3 image.annotateImages /
4 images={TABLE={name='mri_scans_y_mascaras', caslib='casuser'}},
5 casOut={name='mri_anotadas_segmentacion', caslib='casuser', replace=true},
6 copyVars={'_image_', '_mask_'}
7 annotations={{annotation={annotationType='SEGMENTATION', image='_mask_', transparency=40, colorMap='HOT'}}};
8RUN;
9QUIT;

Resultado esperado


La acción se completa sin fallar. La tabla de salida `mri_anotadas_segmentacion` se crea y contiene 3 filas. Las imágenes `mri_01.png` y `mri_03.png` están correctamente anotadas con una superposición de segmentación semitransparente usando el mapa de colores 'HOT'. La fila correspondiente a `mri_02.png` contiene la imagen original sin anotar, ya que la máscara estaba ausente. El log de SAS debería mostrar advertencias sobre los datos que no se pudieron procesar, demostrando un manejo de errores robusto.