Posted by
vbindokas on
URL: http://imagej.273.s1.nabble.com/Re-Renaming-files-1-99-tp3700601p3700603.html
This macro that can left pad the numbers. The macro determines
the number-field width and pads to 5 places (default; modify as needed).
This is designed to run on only tiffs as written, and will fail if
multiple number fields are present in the names. It is a brute force
approach since the current IJ restriction of renaming disk files
(limited to certain directories)- it opens the files, renames each, then
does a save-as (leaving originals). Sorting the directory by time of
creation allows the old copies to deleted easily.
Macro text follows
___snip___
// macro to fix numbering scheme
//macro extracts SEQ number and left-pads so files import right, good
//directory order; a work in progress...
// July'06 Vytas Bindokas, University of Chicago
//
function leftPad(n, width) { // pad code from example macros
s =""+n;
while (lengthOf(s)<width)
s = "0"+s;
return s;
}
dex1=0;
dex2=0;
nums=newArray("0","1","2","3","4","5","6","7","8","9");
dir = getDirectory("Choose a Directory ");
list = getFileList(dir);
print(list.length);
setBatchMode(true); // runs up to 6 times faster
for (f=0; f<list.length; f++) { //main files loop
path = dir+list[f];
print(path);
showProgress(f, list.length);
if (!endsWith(path,"/")) open(path);
// MAIN LOOP
if (nImages>=1) {
if (endsWith(path,"f")) { //do only tiff files,(names that end in
"f")
start = getTime();
t=getTitle();
for (i=0; i<=9; i++) {
a=indexOf(t,toString(i));
z=lastIndexOf(t,toString(i));
if (a>-1 ){
if (dex1==0) dex1=a;
if (a<dex1) dex1=a;
}
if (z>-1 ){
if(dex2==0) {dex2=z; }
else if (z>dex2) {dex2=z; }
}
}
m=leftPad(parseInt(substring(t,dex1,dex2+1)),5); // pad to 5 places
b=substring(t,0,dex1);
e=substring(t,dex2+1,lengthOf(t));
m2=toString(m);
t2=b+m2+e;
rename(t2);
saveAs("tif", path);
run("Close");
}
print((getTime()-start)/1000);
_________snip________________
Vytas Bindokas, Ph.D.
Research Assoc. / Assoc. Prof.,
Director, BSD Light Microscopy Core Facility
Dept Neurobiol Pharmacol Physiol MC0926
947 E 58th Street
The University of Chicago
Chicago IL 60637
Room Abbott 120
773-702-4875
email
[hidden email]
web site for LMCF:
http://digital.bsd.uchicago.edu/index.html
-----Original Message-----
From: ImageJ Interest Group [mailto:
[hidden email]] On Behalf Of
Divakar Ramachandran
Sent: Friday, January 12, 2007 11:14 PM
To:
[hidden email]
Subject: Re: Renaming files 1-99
Grant,
I had asked a similar question some time ago. Two solutions are
possible. As Kyle suggested you could rename the files with zero padding
so that the alphabetical and numerical sort orders coincide. I have used
a free program XnView (not sure if it works on Mac) for this. The other
is to use the virtual stack opener plugin available from the ImageJ
plugins page. Wayne Rasband has updated this to get the correct sort
order.
HTH,
Divakar
Divakar Ramachandran
Minneapolis.
----- Original Message ----
From: Kyle Miller <
[hidden email]>
To:
[hidden email]
Sent: Friday, 12 January, 2007 2:05:32 PM
Subject: Re: Renaming files 1-99
Dear Grant,
There is a program called "A better finder rename" that is very useful
for
renaming files. Just google the name of the program to find the site to
download. It costs ~$20, but works very well on both macs and pcs.
Best,
Kyle
On 1/12/07 12:33 PM, "Daniel Glen" <
[hidden email]> wrote:
> For another kludge, there was this posting in October:
>
https://list.nih.gov/cgi-bin/wa?A2=ind0610&L=imagej&H=1&P=12039>
> On Jan 10, 2007, at 12:46 PM, Jeff Hardin wrote:
>
>> Dear Grant,
>>
>> I had to write a plugin for this for Perkin-Elmer confocal stack
>> files. There's no other way I could figure out how to do this. I
>> should release this on the ImageJ web site, but need to clean it up
>> and comment the code. It involves (a) knowing your naming
>> structure; and (b) adding "0"s to pad the file name. The problem is
>> that where these zeroes have to go depends on the naming structure,
>> so there is no universal renamer that can realistically work.
>>
>> Hope that helps...
>>
>> Cheers,
>>
>> Jeff
>> ----------------------------------------------
>> Jeff Hardin
>> Professor, Department of Zoology
>> Director, Biology Core Curriculum
>> University of Wisconsin
>> 1117 W. Johnson St.
>> Madison, WI 53706
>> voice: (608) 262-9634
>> fax: (608) 262-7319
>> email:
[hidden email]
>>
>>
>> On Jan 4, 2007, at 11:00 PM, IMAGEJ automatic digest system wrote:
>>
>>> Date: Thu, 4 Jan 2007 12:38:15 -0800
>>> From: "McAuley, Grant (LLU)" <
[hidden email]>
>>> Subject: Raw Image Stacks: Image Ordering/Reordering
>>>
>>> Sorry if this has been asked before (searched list archives -
>>> maybe not right combination of words?).
>>>
>>> I need to import stacks of raw images using File->Import->Raw and
>>> selecting 'Open All Files in Folder'. The images have filenames
>>> that contain letters and numbers: zz-1, zz-2, ... , zz-10,
>>> zz-11, ..., zz-48.
>>>
>>> When the stack gets created the order becomes: zz-1, zz-10,
>>> zz-11, ... , zz-2, zz-21, ... instead of what I want: zz-1,
>>> zz-2, ..., zz-10, zz-11, ...
>>>
>>> 1) Can I tell ImageJ to do a numeric instead of alpha sort on the
>>> filename numbers when the stack is created?
>>> 2) If not, is there a better way to resort the stack than the
>>> 'Stack Sorter' plugin (nice, but tedious for 48 images/stack)?
>
>
---------------------------------------
Kyle E. Miller
Dept. of Zoology
Michigan State University
337 Natural Sciences Bldg.
E. Lansing, MI 48824
Office Phone: 517-353-9283
Lab Phone: 517-353-8476
Cell Phone: 917-509-0227
__________________________________________________________
Yahoo! India Answers: Share what you know. Learn something new
http://in.answers.yahoo.com/This email is intended only for the use of the individual or entity to which it is addressed and may contain information that is privileged and confidential. If the reader of this email message is not the intended recipient, you are hereby notified that any dissemination, distribution, or copying of this communication is prohibited. If you have received this email in error, please notify the sender and destroy/delete all copies of the transmittal. Thank you.