Login  Register

Re: Save XY coordinates batch filenames

Posted by Michael Schmid on Feb 20, 2008; 11:08am
URL: http://imagej.273.s1.nabble.com/Save-XY-coordinates-batch-filenames-tp3697141p3697142.html

Hi Justin,

probably you want something like

     name = getInfo("title");
     txtPath = dir+name+".txt";
     run("Save XY Coordinates...", "save=["+txtPath+"]");

Note that everything inside quotes is a fixed string; strings
are concatenated with the '+' operator.
The square brackets delimit a string argument within a string
enclosed by quotes.

Michael
________________________________________________________________


On 19 Feb 2008, at 22:23, Justin Walker wrote:

> I have a short macro that I want to convert to batch mode, but I'm  
> having a bit of trouble with the "Save XY Coordinates" command - I  
> would like to have it save the results of this command as the same  
> filename and path as the image itself, but replace the image's  
> extension (.tif) with .txt (so
> that after I run I will have 1 text file for each image containing  
> the XY data for that image.)
>
> Does anyone know how I'd go about doing that?  I've attached my  
> macro if it helps you to look at what I'm doing - I've attempted to  
> simply use the getinfo("title") command to get the image's filename  
> and append .txt to it (so you'd get myimage.tif.txt, which is fine  
> as well), but I'm clearly no
> t implementing it correctly.
>
> Your help is greatly appreciated;
>
> Justin Walker, Ph. D. Student
> University of Maryland
> macro "Pendant Drop Analysis" {
>     dir = getDirectory("Choose a Directory ");
>     list = getFileList(dir);
>     setBatchMode(true);
> for (i=0; i<list.length; i++) {
> path = dir+list[i];
>             showProgress(i, list.length);
>             if (!endsWith(path,"/")) open(path);
>             if (nImages>=1) {
>      run("8-bit");
>          setAutoThreshold();
>      //run("Threshold...");
>      setAutoThreshold();
>      setThreshold(0, 121);
>      run("Convert to Mask");
>      run("Fill Holes");
>      name = getInfo("title");
>      run("Save XY Coordinates...", "save=dir[name.txt]");
>    close();
>         }
>     }
> }