2012-10-12 3 views
0

j'ai écrit une macro dans ImageJ pour exécuter lot « mesures » sur une liste de fichiers image BMP. Je cours le code sur une machine à distance de Linux en mode sans tête using headless.jar.ImageJ - Comment poursuivre le processus de traitement par lots, même en cas d'erreur rencontré

Chaque fois que ImageJ rencontre une erreur ou une exception lors de la lecture/chargement d'une image dans la liste, il quitte le processus. Par conséquent, je dois constamment surveiller le processus et forcer manuellement ImageJ à ignorer le fichier.

Est-il possible que je peux forcer ImageJ à poursuivre le processus, même si elle a rencontré une erreur/exception? et signaler le nom de fichier peut-être dans les journaux ou un autre fichier?

+0

Il semble que vous devriez envisager de réécrire votre macro en tant que plugin Java. Cela vous donnerait la possibilité d'effectuer le traitement des erreurs dont vous avez besoin. –

Répondre

0

Il n'est pas possible de gérer explicitement les exceptions dans le langage de macros ImageJ. Cependant, vous pouvez vous prémunir contre certains types d'exceptions en vérifiant des conditions préalables et autres avant d'effectuer un appel de macro problématique. Par exemple, si votre liste de fichiers contient des fichiers inexistants, vous pouvez utiliser File.exists(path)[1] pour vous assurer que le fichier existe avant de tenter de l'ouvrir.

Bien sûr, toutes les conditions d'erreur ne peuvent pas être facilement vérifiées de cette façon (par exemple, BMP malformées), donc je suis d'accord avec medPhys-pl que réécrire votre macro comme un plugin Imagej est la solution la plus complète. Vous pouvez obtenir un bon démarrage en utilisant le Macro Recorder (Plugins > Macros > Record) réglé pour enregistrer en mode Plugin plutôt que Macro. Une fois que vous avez les commandes appropriées pour exécuter, vous pouvez les emballer dans un plug-in facilement en utilisant Script Editor de Fiji:

  1. File > New > Script
  2. Language > Java
  3. Templates > Java > Bare PlugIn
  4. coller vos commandes dans la méthode run.

Voir le Introduction into Developing Plugins du wiki fidjien pour plus de détails sur l'écriture de plugins ImageJ.

Questions connexes