Scénario de test & Cas d'usage
Bildverarbeitung, -manipulation und -analyse.
Entdecken Sie alle Aktionen von imageErstellt eine Bildtabelle und eine Annotationstabelle mit inkonsistenten Daten: eine Annotation mit fehlender Y-Koordinate, eine Annotation für ein nicht existentes Bild und eine gültige Annotation.
| 1 | /* Bildtabelle: Enthält zwei gültige Bilder */ |
| 2 | DATA casuser.roentgenbilder; |
| 3 | LENGTH _name_ $50; |
| 4 | _name_ = 'patient_101_scan_A.dcm'; OUTPUT; |
| 5 | _name_ = 'patient_102_scan_B.dcm'; OUTPUT; |
| 6 | RUN; |
| 7 | |
| 8 | /* Annotationstabelle mit fehlerhaften Daten */ |
| 9 | DATA casuser.anomalie_punkte; |
| 10 | LENGTH _name_ $50; |
| 11 | INFILE DATALINES DLM=','; |
| 12 | INPUT _name_ $ x y; |
| 13 | DATALINES; |
| 14 | patient_101_scan_A.dcm,150,200 |
| 15 | patient_102_scan_B.dcm,250,. |
| 16 | patient_999_scan_C.dcm,300,350 |
| 17 | ; |
| 18 | RUN; |
| 1 | PROC CAS; |
| 2 | image.annotateImages / |
| 3 | images={TABLE={name='roentgenbilder', caslib='CASUSER'}} |
| 4 | annotations={{ |
| 5 | annotation={annotationType='POINTS', TABLE={name='anomalie_punkte', caslib='CASUSER'}, r=255, g=0, b=0, radius=10} |
| 6 | }} |
| 7 | copyVars={'_name_'} |
| 8 | casOut={name='annotierte_roentgenbilder', caslib='CASUSER', replace=true}; |
| 9 | RUN; |
Die Ausgabetabelle 'annotierte_roentgenbilder' wird erstellt. Das Bild 'patient_101_scan_A.dcm' enthält einen roten Punkt an den korrekten Koordinaten (150,200). Das Bild 'patient_102_scan_B.dcm' wird ohne Annotation in die Ausgabetabelle kopiert, da die zugehörige Y-Koordinate fehlte. Die Annotation für das nicht existente Bild 'patient_999_scan_C.dcm' wird ignoriert. Die Aktion wird ohne Abbruch abgeschlossen, und im SAS-Log sollten Warnungen über die ignorierten ungültigen Zeilen erscheinen.