Ticket #25 (closed task: wontfix)

Opened 10 years ago

Last modified 9 years ago

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 10 years ago 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 10 years ago by curtis

  • Owner changed from hiner to hinerm

comment:3 Changed 9 years ago by hinerm

  • Status changed from assigned to accepted

comment:4 Changed 9 years ago 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 9 years ago by curtis

Some remaining questions:

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

comment:6 Changed 9 years ago by hinerm

itkBioFormatsImageIOConfigure.h.in disables a 4275 warning and defines BIO_FORMATS_IO_STATIC on Win32 systems.

itkBioFormatsIOWin32Header.h includes the Configure.h.in 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 9 years ago 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.

Note: See TracTickets for help on using tickets.