3-14. La commande de traitement par lots

3-14-1. Qu'est-ce qu'un traitement par lots sous MUSTIG ?
3-14-2. Créer un script batch

3-14-3. La syntaxe générale

Changer un paramètre d'entrée

Calculer une fenêtre image

Les boucles

3-14-4. Exemple de script batch

3-14-5. Liste complète des commandes du traitement par lots

 

3-14-1. Qu'est-ce que le traitement par lots (ou Batch) ?

Quand vous devez effectuer les mêmes opérations sur des ensembles de données multiples, il est fastidieux et inefficace de le faire un par un. MUSTIG permet de définir un script pour exécuter ces opérations répétitives automatiquement. Les scripts de batch MUSTIG sont capables de changer les paramètres d'un algorithme automatiquement, réinitialiser, calculer et imprimer des fenêtres image (voir les fenêtres Image), et changer entre processeurs DSP et PC (version DSP seulement). Le script du traitement par lots peut appeler plusieurs programmes MUSTIG si nécessaire.

3-14-2. Créer un script de Batch

Le module du batch est dans la boîte " <-> " dans la bibliothèque. Glissez-le dans votre fenêtre du programme.

Cette boîte du Batch peut être renommée comme toute autre macro pour lui donner un nom plus explicite (Optimisation des paramètres, acquisition des données, etc.). Vous pouvez effacer aussi le nom et coller une icône précédemment copiée dans le presse-papiers qui utilise un logiciel spécifique : cela permet de créer des boutons actifs personnalisés et d'ajouter une " touche professionnelle " à vos applications (PC seulement).

Si la boîte de Batch est renommée autoexec, elle est exécutée automatiquement quand le programme MUSTIG est ouvert. Cela permet de lancer une application automatiquement (par exemple une acquisition de données) en ouvrant le programme (les utilisateurs Windows doivent cliquer deux fois sur le programme de l'explorateur pour lancer l'application directement).

Ouvrez le module Batch avec un double clic : une fenêtre vierge apparaît. Majuscule+Ctrl+Clic dans cette fenêtre pour entrer en mode d'édition, et écrire le script du traitement par lots. Quand vous avez fini, cliquez n'importe où à l'extérieur de la fenêtre pour sortir du mode d'édition de texte.

La syntaxe du script est alors vérifiée par MUSTIG. Si des erreurs de syntaxe sont détectées, un message d'erreur est affiché.

Si une erreur se produit pendant que le script du Batch est exécuté (par exemple étiquette ou fenêtre image inconnue), le traitement par lots s'arrête et le point d'avancement est sélectionné dans la fenêtre du script du Batch.

3-14-3. La syntaxe générale

Changer un paramètre d'entrée

Les données d'entrée (soit scalaire soit chaîne) qui pourront être changées par le script du traitement par lots doivent être étiquetées pour les distinguer (voir Étiqueter une borne). Le nom de l'étiquette est utilisé dans le script du traitement par lots pour faire référence à ces données d'entrée. Elle doit être unique.

La syntaxe générale pour changer une valeur d'entrée pendant le traitement par lots est :

"le nom d'étiquette" = valeur

Les changements relatifs peuvent aussi être faits utiliser les directives suivantes:

"le nom d'étiquette" + = increment_value

"le nom d'étiquette" - = decrement_value

"le nom d'étiquette" * = multiplicative_factor

"le nom d'étiquette" / = division_factor

Calculer une fenêtre image

Seulement les fenêtres image peuvent être traitées pendant un traitement par lots. La syntaxe générale pour lancer une commande est :

COMMANDE " Nom de la fenêtre image "

Une liste complète d'ordres est disponible (voir liste complète des ordres du traitement par lots) ou dans l'aide en ligne du module du batch (raccourci Alt+H).

Les boucles

Quand vous devez étudier l'effet d'une grande gamme de paramètres, c'est souvent très efficace d'écrire des boucles. La syntaxe générale pour les boucles dans les scripts de traitement par lots MUSTIG est:

Number_of_loops {

….

les ordres

}

3-14-4. Exemple de script de traitement par lots

Le programme simple suivant produit un signal eu bruit blanc de longueur donnée et calcule l'énergie du signal (somme des échantillons élevés au carré) :

Une fenêtre image a été mise dans la fenêtre du programme pour y rassembler les résultats les plus intéressants et renommée Ma fenêtre image. L'intérieur de cette fenêtre image pourrait ressembler à ceci :

N.B. : En fait la fenêtre image a une taille par défaut égale à la dimension d'une feuille de papier A4 (voir les fenêtres Image). Seulement la partie la plus intéressante de la fenêtre image est montrée.

Maintenant, nous voulons étudier l'effet de la longueur du signal sur l'estimation de l'énergie globale. Pour faire ceci, nous devons exécuter le programme avec plusieurs valeurs de la longueur du signal, par exemple 100, 200,…, 1000.

Au lieu d'exécuter le programme dix fois vous-mêmes, allez chercher un module Batch de la Bibliothèque, cliquez deux fois pour l'ouvrir, et entrez le scrip^t suivant:

"Longueur signal" = 0

10 {

"Longueur signal" + = 100

CALCULER " Ma fenêtre image "

IMPRIMER " Ma fenêtre image "

}

Cliquez à l'extérieur de la fenêtre pour sortir du mode d'édition de texte. Fermez la fenêtre du script et réglez les Paramètres d'impression dans le menu Fichier.

Cliquez à droite sur le module Batch pour le lancer : la fenêtre du scénario et la fenêtre image à calculer s'ouvrent, les dix simulations sont effectuées rapidement et les dix feuilles de résultat sont envoyés à l'imprimante automatiquement.

3-14-5. Liste complète des ordres de traitement par lots

Commande et exemple

Action

Choix d'un programme MUSTIG

OUVRIR "Nom de fichier.MTG "

Ouvre un programme MUSTIG. Pas nécessaire si le module Batch est dans votre programme et si vous n'appelez pas d'autres programmes.

FERMER "Nom de fichier.MTG "

Ferme un programme MUSTIG

SELECTIONNER "Nom de fichier.MTG "

Sélectionne un programme MUSTIG (utile si plusieurs programmes MUSTIG sont utilisés pour le traitement par lots)

Réglage des paramètres d'entrée

"Nom d'étiquette" = Valeur

Change la valeur d'une entrée étiquetée scalaire ou module de texte

"Nom d'étiquette" + = Valeur

"Nom d'étiquette" - = Valeur

"Nom d'étiquette" * = Valeur

"Nom d'étiquette" / = Valeur

Incrémente un module d'entrée scalaire étiqueté

Décrémente un module d'entrée scalaire étiqueté

Multiplie un module d'entrée scalaire étiqueté

Divise un module d'entrée scalaire étiqueté

Gestion des fenêtres image

INITIALISER "Nom de la fenêtre image"

Réinitialise tous les calculs et modules à l'intérieur de la fenêtre image spécifiée

CALCULER "Nom de la fenêtre image"

Calcule une fenêtre image

IMPRIMER "Nom de la fenêtre image"

Imprime une fenêtre image (assurez-vous que les paramètres d'impression sont corrects avant de lancer le traitement par lots)

Gestion du temps

DEMARRER " 1H20M "

Démarre le traitement par lots au temps spécifié

ATTENDRE " 1M "

Attend le temps spécifié (une minute ici). Peut être utile si vous avez peur de surcharger votre spooler d'imprimeur, ou si vous voulez voir les résultats avant qu'ils soient envoyés à l'imprimante.

La gestion DSP

DSP " ON "

Tous les nouveaux calculs seront faits sur le processeur DSP (version DSP de MUSTIG seulement)

DSP " 0FF "

Tous les nouveaux calculs seront faits sur le processeur PC

Les boucles

N {

Command 1

Command 2

}

Répète le même ensemble d'instructions N fois