Ticket #76 (closed defect: fixed)

Opened 13 years ago

Last modified 13 years ago

011B1_Morph_A01_s1_w1.TIF fails to import into OME using Bio-Formats

Reported by: curtis Owned by: melissa
Priority: major Milestone:
Component: bio-formats Severity:
Keywords: Cc:
Blocked By: Blocking:

Description (last modified by curtis) (diff)

Here is the stack trace:

curtis@skyking:~/cvs/OME-WEBSITE/TestImages$ ome import -i 'OME::ImportEngine::BioFormats' 011B1_Morph_A01_s1_w1.TIF 
Please login to OME:
Username? curtis
Password? 
Great, you're in.

Importing files
         1/4: [IN PROGRESS] Starting import
         3/4: [IN PROGRESS] Importing
DBD::Pg::st execute failed: ERROR:  null value in column "created" violates not-null constraint
ome: WARNING: Error DBD::Pg::st execute failed: ERROR:  null value in column "created" violates not-null constraint
 at /home/curtis/cvs/OME/src/perl2/OME/Factory.pm line 948
        OME::Factory::newObject('OME::Factory=HASH(0x8f2c670)', 'OME::Image', 'HASH(0x92699e4)') called at /home/curtis/cvs/OME/src/perl2/OME/ImportExport/HierarchyImport.pm line 533
        OME::ImportExport::HierarchyImport::importObject('OME::ImportExport::HierarchyImport=HASH(0x91140ac)', 'XML::LibXML::Element=SCALAR(0x9224a3c)', 'undef', 'undef', 'undef') called at /home/curtis/cvs/OME/src/perl2/OME/ImportExport/HierarchyImport.pm line 254
        OME::ImportExport::HierarchyImport::processDOM('OME::ImportExport::HierarchyImport=HASH(0x91140ac)', 'XML::LibXML::Element=SCALAR(0x91140d0)') called at /home/curtis/cvs/OME/src/perl2/OME/Tasks/OMEImport.pm line 274
        OME::Tasks::OMEImport::processDOM('OME::Tasks::OMEImport=HASH(0x9113ab8)', 'XML::LibXML::Element=SCALAR(0x91140d0)', 'IgnoreAlterTableErrors', 1, 'NoDuplicates', 0) called at /home/curtis/cvs/OME/src/perl2/OME/Tasks/OMEImport.pm line 212
        OME::Tasks::OMEImport::importXMLstring('OME::Tasks::OMEImport=HASH(0x9113ab8)', '<?xml version="1.0" encoding="UTF-8"?><OME xmlns="http://www....', 'NoDuplicates', 0, 'IgnoreAlterTableErrors', 1) called at /home/curtis/cvs/OME/src/perl2/OME/ImportEngine/BioFormats.pm line 111
        OME::ImportEngine::BioFormats::importGroup('OME::ImportEngine::BioFormats=HASH(0x8f50c7c)', 'ARRAY(0x9113a88)', 'CODE(0x8d10460)') called at /home/curtis/cvs/OME/src/perl2/OME/ImportEngine/ImportEngine.pm line 322
        eval {...} called at /home/curtis/cvs/OME/src/perl2/OME/ImportEngine/ImportEngine.pm line 321
        OME::ImportEngine::ImportEngine::importFiles('OME::ImportEngine::ImportEngine=HASH(0x8f503e8)', 'HASH(0x8dbb308)') called at /home/curtis/cvs/OME/src/perl2/OME/Tasks/ImageTasks.pm line 157
        eval {...} called at /home/curtis/cvs/OME/src/perl2/OME/Tasks/ImageTasks.pm line 154
        OME::Tasks::ImageTasks::importImageServerFiles('undef', 'HASH(0x8dbb308)', 'HASH(0x8b79600)', 'OME::Task=HASH(0x8e9bb3c)') called at /home/curtis/cvs/OME/src/perl2/OME/Tasks/ImageTasks.pm line 115
        OME::Tasks::ImageTasks::importFiles('undef', 'ARRAY(0x8b78ed4)', 'HASH(0x8b79600)', 'OME::Task=HASH(0x8e9bb3c)') called at /home/curtis/cvs/OME/src/perl2/OME/Util/Import.pm line 287
        OME::Util::Import::import('OME::Util::Import', 'ARRAY(0x822e9d8)') called at /home/curtis/cvs/OME/src/perl2/OME/Util/Commands.pm line 280
        OME::Util::Commands::handleCommand('OME::Util::Import', 0, 'ARRAY(0x822e9d8)') called at /home/curtis/cvs/OME/src/perl2/OME/Util/Commands.pm line 248
        OME::Util::Commands::handleCommand('OME::Util::OMECommander', 0) called at /usr/local/bin/ome line 64
 importing image: OME::ImportEngine::BioFormats ARRAY(0x9113a88)
         4/4: [FINISHED] Imported 0 images from 0 files. 1 scanned. 0 unknown format, 0 duplicates, 1 errors.
Exiting...
         4/4: [FINISHED] Imported 0 images from 0 files. 1 scanned. 0 unknown format, 0 duplicates, 1 errors.
Exiting...

Examining the OME-XML that Bio-Formats produces for the file, it appears to be missing a CreationDate, which would explain the error message.

In general, this error implies that all OME-XML we produce in Bio-Formats should have a CreationDate. If one does not exist, we should add one matching the time of OME-XML generation. However, the Java OME-XML library already does this -- when an ImageNode is first created, it calls setCreated(null) which initializes a CreationDate with the current timestamp. So this behavior is quite unexpected.

Change History

comment:1 Changed 13 years ago by curtis

  • Description modified (diff)

comment:2 Changed 13 years ago by melissa

  • Status changed from new to closed
  • Resolution set to fixed

As of r2511, the TIFF reader will always properly populate the CreationDate field.

Note: See TracTickets for help on using tickets.