NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #25 (closed task: wontfix)

Opened 2010-02-19T11:09:50-06:00

Last modified 2011-05-10T09:46:44-05:00

Improve Bio-Formats ITK plugin class structure and build system

Reported by: curtis Owned by: hinerm
Priority: major Milestone: biweekly-2011: Apr-25 to May-06
Component: FARSIGHT Version:
Severity: non-issue Keywords:
Cc: Blocked By:


To facilitate using  Bio-Formats from within  FARSIGHT, we have created a  Bio-Formats ITK ImageIO plugin, which uses  CMake for build configuration.

However, the class structure and CMakeLists.txt were adapted from  3D Slicer's  MGH ImageIO plugin without fully understanding every construct involved. We would like to reduce the complexity of the class structure and CMake configuration to the minimum necessary to build and deploy the Bio-Formats plugin cross-platform.

Change History

comment:1 Changed 2010-09-17T17:21:07-05:00 by curtis

  • Owner changed from bselinsky to hiner
  • Status changed from new to assigned
  • Milestone changed from progress-report to biweekly-2010: Sep-20 to Oct-01

comment:2 Changed 2010-09-22T13:15:23-05:00 by curtis

  • Owner changed from hiner to hinerm

comment:3 Changed 2010-10-12T09:10:26-05:00 by hinerm

  • Status changed from assigned to accepted

comment:4 Changed 2010-11-11T11:47:36-06:00 by hinerm

In subversion revision 7181, removed ITKFactories folder from the BF-ITK build. All plug-in libraries and required jars are now placed in the build/dist/bf-itk directory after running the ant dist target.

comment:5 Changed 2011-01-14T15:16:59-06:00 by curtis

Some remaining questions:

  • What is itkBioFormatsIOWin32Header.h? Is it necessary?
  • What is Is it necessary?
  • The bf-itk project currently builds two libraries: BioFormatsIO and BioFormatsIOPlugin. Do we really need both?

comment:6 Changed 2011-05-09T11:42:10-05:00 by hinerm disables a 4275 warning and defines BIO_FORMATS_IO_STATIC on Win32 systems.

itkBioFormatsIOWin32Header.h includes the file and defines BioFormatsImageIO_EXPORT. It is included by the ImageIOFactory header.

If these files are removed and their respective include comments removed, the BFITK project compiles on Mac, but fails on Windows (MSVC didn't know how to handle the BioFormatsImageIOFactory definition).

The BioFormatsIO library seems to be the actual library - using the ImageIO and ImageIOFactory files as its sources. The Plugin library seems to just serve as the entry point for ITK loading, as it instantiates and returns an ImageIOFactory.

comment:7 Changed 2011-05-10T09:46:44-05:00 by hinerm

  • Status changed from accepted to closed
  • Resolution set to wontfix

As each of these pieces serves a necessary purpose, and the overall structure represents a reasonable level of encapsulation, no changes will be made at this time.