?>Array ( [lang] => fr [id] => 152 ) Scénario Volumétrie : Enregistrement en Masse de Prototypes pour l'Analyse d'Images - WeAreCAS
fcmpact addPrototypes

Scénario Volumétrie : Enregistrement en Masse de Prototypes pour l'Analyse d'Images

Scénario de test & Cas d'usage

Contexte Métier

Une usine de fabrication utilise une bibliothèque C++ custom, basée sur OpenCV, pour l'assurance qualité via l'analyse d'images. De nombreuses fonctions (détection de flou, mesure de couleur, recherche de fissures, etc.) doivent être disponibles dans CAS pour traiter des millions d'images par jour. Ce test valide la capacité de l'action à enregistrer un grand nombre de prototypes simultanément et à les rendre persistants pour toutes les sessions CAS.
Préparation des Données

Aucune préparation de données n'est nécessaire pour ce scénario, car il se concentre sur la capacité de l'action 'addPrototypes' à gérer de multiples définitions de code.

Copié !
1/* Aucune donnée requise pour ce test. Le test se concentre sur l'action elle-même. */

Étapes de réalisation

1
Ajout d'une dizaine de prototypes de fonctions d'analyse d'image en une seule fois. La table de sortie est sauvegardée de manière permanente dans une caslib globale 'public'.
Copié !
1PROC CAS;
2 fcmpact.addPrototypes
3 routineCode={
4 "proto detect_blur(char[*], double) returns int;",
5 "proto find_edges(char[*]) returns int;",
6 "proto measure_color_dev(char[*], double, double, double) returns double;",
7 "proto detect_crack(char[*], double) returns int;",
8 "proto ocr_read_serial(char[*]) returns char[20];",
9 "proto check_alignment(char[*], char[*]) returns double;",
10 "proto count_objects(char[*]) returns int;",
11 "proto get_image_hash(char[*]) returns char[64];"
12 }
13 library="image_analysis_lib"
14 bridgeFile="/cas/caslibs/public/libs/image_analysis_lib.so"
15 package="qualityControl"
16 funcTable={name="image_analysis_protos", caslib="public", replace=true}
17 saveTable=true;
18QUIT;
2
Vérification que la table 'image_analysis_protos' a été promue et est visible globalement.
Copié !
1PROC CAS;
2 TABLE.tableInfo / caslib='public', name='image_analysis_protos';
3QUIT;

Résultat Attendu


L'action s'exécute sans erreur et crée la table 'image_analysis_protos' dans la caslib 'public'. Grâce à 'saveTable=true', la table est persistante. L'appel à 'table.tableInfo' confirme que la table est promue et disponible globalement, prête à être utilisée par n'importe quel programme CAS ayant besoin d'effectuer des analyses d'images complexes via les fonctions C++.