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: |
|
Component: | FARSIGHT | Version: | |
Severity: | non-issue | Keywords: | |
Cc: | Blocked By: | ||
Blocking: |
Description
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: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 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 2011-05-09T11:42:10-05:00 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 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.