image

condenseImages

Description

Condense les valeurs de pixels dans une table d'images.

image.condenseImages { casOut={caslib='string', compress=true | false, indexVars={'variable-name-1' <, 'variable-name-2', ...>}, label='string', lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat='DVR' | 'INHERIT' | 'STANDARD', name='table-name', promote=true | false, replace=true | false, replication=integer, tableRedistUpPolicy='DEFER' | 'NOREDIST' | 'REBALANCE', threadBlockSize=64-bit-integer, timeStamp='string', where={'string-1' <, 'string-2', ...>}}, copyVars={'variable-name-1' <, 'variable-name-2', ...>}, decode={encodeType='string', value=true | false}, depth='BIT32' | 'BIT64' | 'BIT8' | 64-bit-integer, groupedChannels=true | false, height=64-bit-integer, inputs={{format='string', formattedLength=integer, label='string', name='variable-name', nfd=integer, nfl=integer}, {...}}, numberOfChannels='COLOR_IMAGE' | 'GRAY_SCALE_IMAGE' | 64-bit-integer, table={caslib='string', computedOnDemand=true | false, computedVars={{format='string', formattedLength=integer, label='string', name='variable-name', nfd=integer, nfl=integer}, {...}}, computedVarsProgram='string', dataSourceOptions={key-1=any-list-or-data-type-1 <, key-2=any-list-or-data-type-2, ...>}, importOptions={fileType='ANY' | 'AUDIO' | 'AUTO' | 'BASESAS' | 'CSV' | 'DELIMITED' | 'DOCUMENT' | 'DTA' | 'ESP' | 'EXCEL' | 'FMT' | 'HDAT' | 'IMAGE' | 'JMP' | 'LASR' | 'PARQUET' | 'SOUND' | 'SPSS' | 'VIDEO' | 'XLS', fileType-specific-parameters}, name='table-name', singlePass=true | false, where='where-expression', whereTable={casLib='string', dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType='ANY' | 'AUDIO' | 'AUTO' | 'BASESAS' | 'CSV' | 'DELIMITED' | 'DOCUMENT' | 'DTA' | 'ESP' | 'EXCEL' | 'FMT' | 'HDAT' | 'IMAGE' | 'JMP' | 'LASR' | 'PARQUET' | 'SOUND' | 'SPSS' | 'VIDEO' | 'XLS', fileType-specific-parameters}, name='table-name', vars={{format='string', formattedLength=integer, label='string', name='variable-name', nfd=integer, nfl=integer}, {...}}, where='where-expression'}}, width=64-bit-integer };
Paramètres
ParamètreDescription
casOutSpécifie les paramètres pour une table de sortie.
copyVarsSpécifie les variables à copier de la table d'entrée vers la table de sortie.
decodeSpécifie les paramètres liés au codage de l'image.
depthSpécifie la profondeur d'un pixel des images de sortie.
groupedChannelsLorsque défini sur True, suppose que les pixels des images dans la table d'entrée sont groupés (par exemple, BB...GG...RR...).
heightSpécifie la hauteur des images de sortie.
inputsSpécifie les variables d'entrée à utiliser lors de la construction des images. Si ce paramètre n'est pas défini, toutes les colonnes numériques sont utilisées.
numberOfChannelsSpécifie le nombre de canaux des images de sortie.
tableSpécifie la table d'entrée qui contient les données d'image.
widthSpécifie la largeur des images de sortie.
Préparation des Données Voir la fiche de ce code dataprep
Création de Données de Pixels

Ce code génère une table SAS nommée 'pixel_data' avec des valeurs de pixels aléatoires pour simuler des données d'image. Chaque ligne représente un pixel avec ses composantes de couleur (rouge, vert, bleu) et un identifiant d'image.

Copié !
1DATA pixel_data;
2 call streaminit(123);
3 DO id = 1 to 2;
4 DO i = 1 to 1024; /* 32x32 pixels */
5 r = rand('UNIFORM') * 255;
6 g = rand('UNIFORM') * 255;
7 b = rand('UNIFORM') * 255;
8 OUTPUT;
9 END;
10 END;
11RUN;

Exemples

Cet exemple condense les données de pixels de la table 'pixel_data' en images en niveaux de gris de 32x32. Les variables 'r', 'g', 'b' sont utilisées comme entrées.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 LOADACTIONSET 'image';
3 image.condenseImages /
4 TABLE={name='pixel_data'},
5 inputs={{name='r'}, {name='g'}, {name='b'}},
6 casOut={name='condensed_images_gray', replace=true},
7 width=32,
8 height=32,
9 numberOfChannels='GRAY_SCALE_IMAGE';
10RUN;
11QUIT;

Cet exemple condense les données de pixels en images couleur de 32x32. Il spécifie la profondeur de pixel à 8 bits et copie la variable 'id' de la table d'entrée vers la table de sortie.

Code SAS® / CAS Code en attente de validation par la communauté
Copié !
1PROC CAS;
2 LOADACTIONSET 'image';
3 image.condenseImages /
4 TABLE={name='pixel_data'},
5 inputs={{name='r'}, {name='g'}, {name='b'}},
6 casOut={name='condensed_images_color', replace=true},
7 copyVars={'id'},
8 width=32,
9 height=32,
10 numberOfChannels='COLOR_IMAGE',
11 depth='BIT8';
12RUN;
13QUIT;

FAQ

Quel est le but de l'action `condenseImages` ?
Quels sont les paramètres obligatoires pour utiliser l'action `condenseImages` ?
À quoi sert le paramètre `groupedChannels` ?
Comment puis-je spécifier les dimensions des images générées en sortie ?
Est-il possible de décoder les images lors de la condensation ?

Scénarios associés

Cas d'usage
Conversion Standard de Scans Rétiniens (RGB)

Un hôpital universitaire souhaite préparer des données brutes issues de scanners ophtalmologiques (valeurs de pixels brutes extraites en CSV) pour alimenter un modèle de Deep Le...

Cas d'usage
Traitement Volumétrique Canaux Groupés (Planar)

Une agritech analyse des images satellites pour surveiller la sécheresse. Les capteurs satellites transmettent les données en format 'Planar' (tous les pixels Rouges, puis tous ...

Cas d'usage
Cas Limite : Décodage et Métadonnées (Ligne de Prod)

Sur une ligne d'assemblage automobile, des caméras thermiques inspectent les soudures. Nous devons non seulement condenser l'image brute, mais aussi forcer son décodage immédiat...