This is a family of plugins based on the project JNIAkiz
by Adrian Daerr. In that project, Adrian developed a JNI native
interface to be able to grab frames using a Scion Frame Grabber (in
particular a Scion LG-3). The original code was developed under
MacOS-X, although it could be ported to Windows with minor
modifications. The structure of the interface allows to adapt it to
different frame grabbers with small modifications suited to the
capabilities and the libraries provided by the manufacturer.
The software you can find here is an extension of this project, showing
how the same interface can be used to drive two very different frame
grabbers. The basic plugin, called GrabVideo (GrabVideo_.java) is an
extension of the original by A. Daerr. It opens a window inside ImageJ
with live video feed from the frame grabber (although the refresh rate
is less than realtime, although reasonable). It lets the user select a
Region of Interest, adjust brightness and contrast for optimum
digitization (including the possibility of enabling "highlight
saturated pixels" to help in that process). The current frame may be
frozen or grabbed to create a stack with grabbed frames (the relative
time with respect to the first frame is kept). You can also lauch a
video acquisition, in which you select the number of frames and the
delay between frames (1 for full video rate, 2 to grab each other
frame, etc.). Acquisition will start when a key is pressed. Again, each
frame is labelled with its real time.
This software has been developed and tested under Windows. Provided the
Frame Grabber is supported by the manufacturer under a different OS,
porting should be possible. In particular, minor modifications to the
original JNIAkiz project may allow to use the extended GrabVideo plugin
in ImageJ under MacOS-X wien a Scion LG-3.
Acquisition plugin for Scion Frame Grabbers (developed for LG-3). All files, source and compiled, can be downloaded here. Read install.txt for technical details.
*Copy the *.class files to a plugins
directory, and the dll to the root ImageJ directory. The file
scionfg.dll should also be there or somewhere the system can find it.
Sustained acquisition at video rate has been enhanced over the standard
capability provided by the number of onboard memory buffers. On a LG-3
with 64MB of onboard memory this is about 200 full frames, but
increases if smaller ROI's are selected.
Acquisition plugin for Coreco Bandit-IICV Frame Grabber. All files, source and compiled, can be downloaded here. Read install.txt for technical details.
*Copy the *.class files to a plugins
directory, and the dll to the root ImageJ directory. You must install
the software provided by Coreco so that the required *.dll files will
be somewhere the system can find them.
Import extra movie types using JMF and FOBS.
Although the Java Media Framework provides the tools to handle
arbitrary media streams under Java, the number of available codecs is
very limited (see Plugins JMF Movie Player, and JMF Movie Reader. The SourceForge project FOBS takes a step in the right direction, making the codecs from the project ffmpeg available to java trough a JNI implementation (currently available for Windows, MacOS, and Linux).
With FOBS, ImageJ can import MPEG1, MPEG2 (e.g. from DVD recorder), MPEG4 (DiVX!), DV, AVI (compressed!), Quicktime...
The Plugin: I have implemented the PlugIn
JMF_Movie_Processor2(), which, by the way, would also work with the
standard JMF. This plugin lets you open a video file of any of the
supported formats on a "player window". There, you can specity the
playrate, select a Region of Interest, and set markers for a range of
frames to acquire. In acquisition mode, you can import selected frames
into a ImageJ stack for furher processing.
Installation:First, you need to download and install FOBS
for your system. Go to the installation folder of FOBS and copy the jmf.jar and fobs4jmf.jar files in the
classpath of ImageJ or in the extensions folder of your Java Runtime
Environment. It also works if you put them inside the plugins directory
of ImageJ. Copy the native part (fobs4jmf.dll) and the jmf.properties
file (important!) where ImageJ can find it (for instance in the ImageJ
root directory). For the ImageJ plugin, download JMF_Movie_Processor.zip and extract everything into one of your plugins folder. When you restart ImageJ you should find the new plugin.
Current limitations:FOBS is a project under development. For this reason some standard jmf functionality may not be implemented yed.