find distinct subfolder

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

find distinct subfolder

Tom Pot
Hi together,
 
I have a macro that loops through folders and subfolders to process images. The problem I encountered is that the macro should only process the images in a subfolder named e.g. test_folder. Afterwards it should screen the next folder and subfolders for the next 'test_folder'.
 
I use the following code to loop through folders and subfolders:
 
dir = getDirectory("Select Subjects Directory");
   setBatchMode(true);
   count = 0;
   countFiles(dir);
   n = 0;
   processFiles(dir);
   //print(count+" files processed");
   function countFiles(dir) {
      list = getFileList(dir);
      for (i=0; i<list.length; i++) {
          if (endsWith(list[i], "/"))
              countFiles(""+dir+list[i]);
          else
              count++;
      }
  }
   function processFiles(dir) {
      list = getFileList(dir);
      for (i=0; i<list.length; i++) {
          if (endsWith(list[i], "/"))
              processFiles(""+dir+list[i]);
             
        isDirectory(newdir);              
          else {
             showProgress(n++, count);
             path = dir+list[i];
             calculate_first(path);            // process function 1
             calculate_second(path);       // process function 2
          }
      }
  }
 
Does anybody has an idea how to search a distinct subfolder within my subjects dir ?
 
I´m very thankful for any suggestions,
Thomas

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
Reply | Threaded
Open this post in threaded view
|

Re: find distinct subfolder

Rainer M. Engel
Hey Thomas,

maybe you want to do this in some separate steps.

1) loop through your folder structure and list/store all found folders

2) filter the results of the first step for your ".*test_folder.*"
with the built in "endsWith" or "matches" function and store these
results in a new list or array.

3) work on the resulting list/array from step 2 and applying your
desired processing.


Maybe this helps you out somehow..
Rainer


Am 11.06.2015 um 08:42 schrieb Tom Pot:

> Hi together,
>  
> I have a macro that loops through folders and subfolders to process images. The problem I encountered is that the macro should only process the images in a subfolder named e.g. test_folder. Afterwards it should screen the next folder and subfolders for the next 'test_folder'.
>  
> I use the following code to loop through folders and subfolders:
>  
> dir = getDirectory("Select Subjects Directory");
>     setBatchMode(true);
>     count = 0;
>     countFiles(dir);
>     n = 0;
>     processFiles(dir);
>     //print(count+" files processed");
>     function countFiles(dir) {
>        list = getFileList(dir);
>        for (i=0; i<list.length; i++) {
>            if (endsWith(list[i], "/"))
>                countFiles(""+dir+list[i]);
>            else
>                count++;
>        }
>    }
>     function processFiles(dir) {
>        list = getFileList(dir);
>        for (i=0; i<list.length; i++) {
>            if (endsWith(list[i], "/"))
>                processFiles(""+dir+list[i]);
>                
>          isDirectory(newdir);
>            else {
>               showProgress(n++, count);
>               path = dir+list[i];
>               calculate_first(path);            // process function 1
>               calculate_second(path);       // process function 2
>            }
>        }
>    }
>  
> Does anybody has an idea how to search a distinct subfolder within my subjects dir ?
>  
> I´m very thankful for any suggestions,
> Thomas
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>
>

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