for last two weeks I have been struggling with the Omero system to import larger number of files. For a client I am setting up an automated import system which is suppose to handle a vast amount of images every night. We are talking about up to 118000 images in one session.
This our current work-flow:
- transfer of files to the machine running the Omero server
- adding of meta data
- import to Omero
I have attempted to use the drop box system (http://www.openmicroscopy.org/community/viewtopic.php?f=4&t=598) but it does lack essential features to be really useful for what I need to accomplish.
Recently I have attempted to make the command-line importer work. Either way the import fails after a varying number of files (between 400 and 1300).
Error:
- Code: Select all
java.io.FileNotFoundException: /home/helmerj/rails/metaxpress/transfer-script/out0500/20100825 rbilly_C13_w376F74D57-F0AE-4C0F-A273-A573DC6A1237.ome.tif (Too many open files)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
at loci.common.NIOFileHandle.<init>(NIOFileHandle.java:100)
at loci.common.NIOFileHandle.<init>(NIOFileHandle.java:111)
at loci.common.NIOFileHandle.<init>(NIOFileHandle.java:119)
at loci.common.Location.getHandle(Location.java:196)
at loci.common.Location.getHandle(Location.java:167)
at loci.common.RandomAccessInputStream.<init>(RandomAccessInputStream.java:71)
at loci.formats.in.OMETiffReader.openBytes(OMETiffReader.java:206)
at loci.formats.FormatReader.openBytes(FormatReader.java:739)
at loci.formats.ImageReader.openBytes(ImageReader.java:370)
at loci.formats.ChannelFiller.getLookupTableComponentCount(ChannelFiller.java:262)
at loci.formats.ChannelFiller.setId(ChannelFiller.java:245)
at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:480)
at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:238)
at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:480)
at ome.formats.importer.ImportLibrary.open(ImportLibrary.java:245)
at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:483)
at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:223)
at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:128)
at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:366)
2011-01-31 11:44:20,272 657081 [ main] ERROR ome.formats.importer.cli.ErrorHandler - FILE_EXCEPTION: /home/helmerj/rails/metaxpress/transfer-script/out0500/20100825 rbilly_C13_w376F74D57-F0AE-4C0F-A273-A573DC6A1237.ome.tif
java.io.FileNotFoundException: /home/helmerj/rails/metaxpress/transfer-script/out0500/20100825 rbilly_C13_w376F74D57-F0AE-4C0F-A273-A573DC6A1237.ome.tif (Too many open files)
at java.io.RandomAccessFile.open(Native Method)
at java.io.RandomAccessFile.<init>(RandomAccessFile.java:212)
at loci.common.NIOFileHandle.<init>(NIOFileHandle.java:100)
at loci.common.NIOFileHandle.<init>(NIOFileHandle.java:111)
at loci.common.NIOFileHandle.<init>(NIOFileHandle.java:119)
at loci.common.Location.getHandle(Location.java:196)
at loci.common.Location.getHandle(Location.java:167)
at loci.common.RandomAccessInputStream.<init>(RandomAccessInputStream.java:71)
at loci.formats.in.OMETiffReader.openBytes(OMETiffReader.java:206)
at loci.formats.FormatReader.openBytes(FormatReader.java:739)
at loci.formats.ImageReader.openBytes(ImageReader.java:370)
at loci.formats.ChannelFiller.getLookupTableComponentCount(ChannelFiller.java:262)
at loci.formats.ChannelFiller.setId(ChannelFiller.java:245)
at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:480)
at loci.formats.ChannelSeparator.setId(ChannelSeparator.java:238)
at loci.formats.ReaderWrapper.setId(ReaderWrapper.java:480)
at ome.formats.importer.ImportLibrary.open(ImportLibrary.java:245)
at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:483)
at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:223)
at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:128)
at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:366)
2011-01-31 11:44:20,276 657085 [ main] INFO ome.formats.importer.ImportLibrary - Exiting on error
Here are my questions:
- What are possible parameters to improve the import behavior in regard to speed and memory management? I have increased the Max Heap size up to 4GB but he import of more than 342 images still fails.
- What is the reason for the error I am getting above? I suppose I could import the images in batches of 100 or 200 hundred files but that would be really cumbersome when looking at 118000 files to be imported...
- Is it possible to speed up the import by pre-processing the image files so no pixel conversion has to be applied to the image data?
- What is the internal file format in the /OMERO/Pixels/ and /OMERO/Thumbnails directories
- How can I file bug reports I have search the Omero website and I do know about the trac system but how do I get an account so I can file proper bug reports with full debug information?
Any help on the matter would be greatly appreciated. Is anybody using the Omero system being able to import larger number of files? With work being done towards a HCS module I would had assumed that larger number of files pose no problem...
Cheers Juergen