2016-04-18 11 views
0

Ich habe ein Makro erstellt, das 54 verschiedene Bilder aufruft und öffnet, so dass ich daraus einen Stapel machen kann. Diese Bilder sind alle in einem Ordner gespeichert. Es gibt viele Ordner wie den ersten, und das Makro scheint in der Lage zu sein, einen Stapel von Bildern in jedem Ordner zu erstellen. Ich habe den Code geschrieben dies auf folgende Art und Weise zu tun, weil es der einfachste Weg, um den Stapel, um das Muster zu beziehen war möchte ich die Bilder alle sein:Eingabe eines Standardbildes für den Fall, dass das aufgerufene Bild nicht in ImageJ Makro existiert

open(image 1) 
open(image 2) 
open(image 3) 
open(image 4) 
open(image 5) 
open(image 6) 
open(image 7) 
open(image 8) 
open(image 9) ect. 

jedoch in einigen Ordnern, einige Bilder, zum Beispiel Bild 8, existieren nicht. Dies stoppt den Code an diesem Punkt. Ich will nicht für jedes "Öffnen" schreiben: "Wenn Datei existiert" ... weil ich das für 54 Bilder machen müsste. Gibt es eine Möglichkeit des Schreibens:

For this block of code, input default image if image doesn't exist for any of the following images: 
    open(image 1) 
    open(image 2) 
    open(image 3) 
    open(image 4) 
    open(image 5) 
    open(image 6) 
    open(image 7) 
    open(image 8) 
    open(image 9) ect. 
End for 

Antwort

1

Wenn ich Ihre Frage richtig bin zu interpretieren, Ihr „Bild 1“ hat den gleichen Namen in jedem Ordner, den Sie bearbeiten möchten.

Wenn ja, ich denke, Sie könnten die Liste der 54 möglichen Dateinamen in eine array setzen. Dann machen Sie eine Schleife durch die Array-Indizes, in denen Sie:

  1. einen Pfadnamen generieren und prüfen, ob die entsprechende Datei existiert File.exists(path) (macro functions)
  2. Wenn es vorhanden ist, öffnen Sie es; Wenn es nicht existiert, öffne dein Standardbild.
+1

Ja! Das habe ich am Ende geschafft. Prost. Ich hatte Probleme, weil ich es gewöhnt bin, mich zu übertreffen, wo man die {} nicht einsetzt, um die Schleife zu schließen. Also habe ich kein geschachteltes "if" in der "for" -Schleife gemacht und nur ein Bild am Ende anstatt 54 übrig gelassen ... –