Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add KWA support to WAMI Viewer #51

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

mwoehlke-kitware
Copy link
Member

Add ability to load KWA's to WAMI Viewer. These work as a sort of bastardized "image list" in conjunction with a reader that can load a single KWA frame given one of the specially formatted "file names".

Modify vpFileDataSource to support reading a KWA index. This is the
first step in adding crude KWA support to WAMI Viewer. (Crude, because
WAMI Viewer is incredibly wedded to having individual image files and,
to some extent, to obtaining times and homographies separately from
image data. A proper implementation would replace all that mess with a
single "video" source that integrates everything, in order to provide a
clean solution for a source like KWA where all of the metadata is
tightly coupled with the image data.)

The second step will be to implement a vtkVgBaseImageSource that reads a
single frame from a KWA. (Unfortunately, this approach means that almost
none of the existing KWA code can be used, except as cut-and-paste into
the new image source.)
Extract the logic to read a single frame image from a KWA into a
separate helper function. This will allow us to reuse the code (and
also, to avoid needing to make vgIStream a public class) for the
upcoming VTK KWA reader.
Implement a vtkVgBaseImageSource that can read a single frame from a
KWA. Add this to the set of readers registered with WAMI Viewer. In
conjunction with recent changes to vpFileDataSource, this allows WAMI
Viewer to use a KWA as its image source. (However, while time stamps
should be working, homographies are not currently supported. This might
be implemented at some point in the future.)
Tweak text in WAMI Viewer project editor to more clearly indicate that a
KWA is acceptable as a data source.
Make CanRead, GetShortDescription and GetLongDescription methods of
vtkVgBaseImageSource const, because they really, really ought to be.
Create a class that presents the interface (at least, the bit that we
care about) of a kwiver::vital::algo::image_io, but is implemented using
vpImageSourceFactory and vtkVgBaseImageSource. This gives us something
that can be used as a drop-in replacement for the image readers that
feed KWIVER (embedded pipelines, track improvement), but uses the same
(VTK-based) readers that WAMI Viewer uses internally.

This is particularly important for the recently added KWA support, which
relies on a kludged-up VTK reader to mangle "file names" into KWA frames
(and thus, obviously, doesn't work with KWIVER's readers).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant