Login  Register

Re: Select every other image and move into specific folder

Posted by James Ewing on Nov 02, 2013; 4:08am
URL: http://imagej.273.s1.nabble.com/Select-every-other-image-and-move-into-specific-folder-tp5005416p5005429.html

Yes - better.
 - Jim

On Nov 1, 2013, at 4:04 PM, George Patterson <[hidden email]> wrote:

> Hi Rui,
> The following macro seems to work if your naming scheme stays the same as
> your examples.....that is if E8_001 designates a unique data set and needs
> its own folder labeled E8_001_001, etc.
> Best,
> George
>
>
>
> //Get the directory
> dir = getDirectory("Choose a Directory ");
> SaveDir = getDirectory("Choose a Sort Save Directory ");
>
> //Create file list
> list = getFileList(dir);
> print("number of files in the Directory ="+ list.length);
>
> Data2="somestring";//just make a variable to use in checking file names
>
> //Look through the list - and move the files to
> for (i=0; i<list.length; i++ ) {
> if (endsWith(list[i], "/")){
> //listFiles(""+SubDirNames[0]+list[i]);
> }else{
> //Split the Name by "." and look at the first Entry
> Data = split(list[i],".");
> findDataSet=substring(Data[0],0,lengthOf(Data[0])-4);// remove the 001,
> 002, 003 designations
> if(findDataSet!=Data2){
> // Make directory name
> DirName = Data[0];
> //Ceate that directory
> File.makeDirectory(SaveDir+File.separator+DirName);
> // Move the file to that Dir
> File.rename(dir + list[i],SaveDir + DirName + File.separator + list[i]);
> Data2=findDataSet;
> }else{
> File.rename(dir + list[i],SaveDir + DirName + File.separator + list[i]);
> }
> }
> }
>
>
>
>
>
>
> On Fri, Nov 1, 2013 at 1:21 PM, rtas <[hidden email]> wrote:
>
>> I did not describe clearly.
>> Essentially I have many images in main folder and images are consist of
>> three images as one set.
>> These one set of three images (E8_001_001, E8_001_002, E8_001_003) need to
>> go one folder.
>> Then next  one set of three images (ie. E8_002_001, E8_002_002, E8_002_003)
>> need to go another folder.
>> I want to keep original image file name and the folder name can be same as
>> first image file (E8_001_001, E8_002_001..).
>> If i could do this as one code that would be great. But i do not know how.
>> so i separate code as three steps:
>> first code; select every first image out of three and create the individual
>> folder
>> second code: select every second image out of three and move them into the
>> folder that is associated with the first image
>> third code: select every third image out of three and move them into the
>> folder that is associated with first and second image. (i don't have this
>> yet since the second code has problem of the file name)
>>
>>
>> I have the other code before this as you suggested to use i+=3 instead of
>> 2,
>> as first code as below:
>>
>> //Get the directory
>>  dir = getDirectory("Choose a Directory ");
>>  SaveDir = getDirectory("Choose a Sort Save Directory ");
>>
>> //Create file list
>>        list = getFileList(dir);
>>        print("number of files in the Directory ="+ list.length);
>>
>> //Look throug the list - and move the files to
>>        for (i=0; i<list.length; i+=3 ) {
>>                        if (endsWith(list[i], "/")){
>>                                //listFiles(""+SubDirNames[0]+list[i]);
>>                        }else{
>>                        //Split the Name by "." and look at the first Entry
>>                                Data = split(list[i],".");
>>
>>                        // Make directory name
>>                                DirName = Data[0];
>>
>>                        //Ceate that directory
>>                                File.makeDirectory(SaveDir+File.separator+
>> DirName);
>>
>>                                                 // Move the file to that
>> Dir
>>                                File.rename(dir + list[i],SaveDir + DirName
>> + File.separator + list[i]);
>>
>>                                }
>>                }
>>
>>
>>
>>
>> Then the second code is the one i listed as previous post:
>>
>> dir = getDirectory("Choose main Directory");///this contains the
>> subdirectory, and tiffs
>> dir2 = getDirectory("choose the subdirectory folder"); ///this contains the
>> folder specific to each section
>>
>>
>>        list = getFileList(dir);
>>        list2 = getFileList(dir2);
>>        print("number of files in the Directory ="+ list.length);
>>       n=1;
>>
>>        for (i=1; i<list.length; i+=2 ) {
>>                        if (endsWith(list[i], ".tif")){
>>                                 print(list[i]);
>>                                for (k=0; k<list2.length; k++){
>>                        if (endsWith(list2[k], "/")){
>>
>>
>>                                oldpath= dir + File.separator+  list[i];
>>                                newpath = dir2 + File.separator+  list2[k]
>> +
>> File.separator+ n+".tif"; ///this renames files to 1
>>                                print(newpath);
>>                                print(oldpath);
>>
>>                                File.rename(oldpath, newpath);
>>
>>                                }
>>                }}}
>>
>> The problem here is the file name. I cannot keep the original file name and
>> move those into the associated folders.
>> I appreciate any suggestion.
>>
>> Rui
>>
>>
>>
>> --
>> View this message in context:
>> http://imagej.1557.x6.nabble.com/Select-every-other-image-and-move-into-specific-folder-tp5005416p5005423.html
>> Sent from the ImageJ mailing list archive at Nabble.com.
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html