Acess number of images series of a file

41 views
Skip to first unread message

Sebastian Rhode

unread,
Jun 7, 2016, 9:15:07 AM6/7/16
to Icy imaging
HI guys,

how can I access the number of series present of a specific image file that is store on my disc? I want to loop over all series inside a script.

Sebi

Osvaldo Fuica

unread,
Jun 8, 2016, 8:04:00 AM6/8/16
to Icy imaging
Hi Sebastian, 

Here you have an example how I do that in python. I hope it would help you.

from icy.file import FileUtil, Loader
from icy.main import Icy
from java.io import FileFilter

class ExtFilter(FileFilter):
def __init__(self, ext):
self.ext = ext
def accept(self, path):
ext = FileUtil.getFileExtension(path.toString(), True);
return (ext.lower() == self.ext)

filter = ExtFilter(".tif")
folder = "/Users/osvaldo/Desktop/test/"
paths=FileUtil.getFiles(folder, filter, True, True, True)

for path in paths:
sequence = Loader.loadSequence(path, 0, False)
Icy.addSequence(sequence)

Osvaldo Fuica

unread,
Jun 8, 2016, 8:30:27 AM6/8/16
to Icy imaging
Hi Sebastian, 

I forgot include the number of series iteration in the last message.
So, now you have the complete example. That iterates over all files a folder and creates a sequence for each serie.

from icy.file import FileUtil, Loader
from icy.main import Icy
from java.io import FileFilter
from icy.sequence import MetaDataUtil

# filter implementation.

class ExtFilter(FileFilter):
   def __init__(self, ext):
      self.ext = ext
 
   def accept(self, path):
      ext
= FileUtil.getFileExtension(path.toString(), True);
     
return (ext.lower() == self.ext)

filter
= ExtFilter(".tif")
folder
= "/Users/osvaldo/Desktop/test/"

# retrive all images files in a folder.

paths
=FileUtil.getFiles(folder, filter, True, True, True)

for path in paths:

    meta
= Loader.getMetaData(path)
   
# get the number of series of a image.
    nSeries
= MetaDataUtil.getNumSerie(meta)

   
for i in range(0, nSeries):
       
# load a serie i.
       sequence
= Loader.loadSequence(path, i, False)
       
Icy.addSequence(sequence)
 

Sebastian Rhode

unread,
Jun 12, 2016, 4:50:44 AM6/12/16
to Icy imaging
Hi Osvaldo,

thanks a lot for your help.

Sebi 

Andras Nagy

unread,
Sep 26, 2016, 10:26:16 AM9/26/16
to Icy imaging
Hi Osvaldo,

Do you have a Javascript version of the same job?

Many thanks,

Andras

Osvaldo Fuica

unread,
Sep 27, 2016, 11:05:47 AM9/27/16
to Icy imaging
importClass(Packages.icy.main.Icy)
importClass
(Packages.icy.sequence.MetaDataUtil)
importClass
(Packages.icy.file.Loader)
importClass
(Packages.icy.file.FileUtil)

filterExtension
= ".tif"
folder
= "/Users/osvaldo/Desktop/test/"

filter
= new java.io.FileFilter() {    
   accept
: function(path) {
      ext
= FileUtil.getFileExtension(path.toString(), true)
     
return (ext.toLowerCase().equals(filterExtension))
   
}
}

paths
= FileUtil.getFiles(folder, filter, true, true, true)

for (i = 0; i < paths.length ; ++i ) {
   path
= paths[i]
   meta
= Loader.getMetaData(path)
   nSeries
= MetaDataUtil.getNumSerie(meta)

   
for (s = 0; s < nSeries ; ++s) {
      sequence
= Loader.loadSequence(path, s, false)
     
Icy.addSequence(sequence)
   
}
}

Reply all
Reply to author
Forward
0 new messages