[Viame] VIAME build errors - VS 2013

Matt Dawkins matt.dawkins at kitware.com
Sat Sep 3 23:09:07 EDT 2016


Looks like a commit made to sprokit in the last 2 weeks created the error,
though you have a few quick options to remedy the situation and roll back
the change, either:

1/ If you don't have git access, for example, you were using the full
source tarbell, you can either apply the attached patch, or alternatively
replace the "packages/kwiver" source directory with another attachment I'll
send you in a separate email because the mailing list doesn't support large
attachments.

2/ If you do have git access (doesn't need to be online since the entire
history of git repositories are stored locally), go to directory
[viame_source]/packages/kwiver && git checkout ed50d98 to roll back the
commit.

Also make sure VIAME_ENABLE_OPENCV is on if you do the above, you might
want to also disable GPU support (VIAME_DISABLE_GPU_SUPPORT) depending on
your computer if you encounter any GPU code related warnings, which I get
on windows more often than not due to build issues.related to different
CUDA installs.

FYI, we should have some more windows kinks out by the hackathon, though
I'm not sure when the vs2015 support will be finished - hopefully by the
end of next week, will send out an email and new package release then. We
decided not to support vs2010 due to lack of support for a few C++0x
features (plus vs2015 community is free). It'll output an error at the
beginning of the process if you try to use something lower.

-Matt D.

On Sat, Sep 3, 2016 at 8:44 PM, George Cutter - NOAA Federal <
george.cutter at noaa.gov> wrote:

> Hi Matt and VIAME users,
>
> I tried to build VIAME using VS 2013.  Managed to build four of the
> projects but one failed.  There were 152 errors that seem to come from the
> kwiver project, and seem to relate to sprokit code.
> Output and errors are listed below.  Please let me know if you have any
> insights about the cause for and how to eliminate these errors.
>
> Thank you,
> Randy
>
>
> Source:  Hackathon-Pre-Release-Full-Source
>
>
> IDE/compiler:  VS 2013
>
>
> OUTPUT (end, summary):
> ...
> Completed 'viame'
> 6>------ Skipped Build: Project: ALL_BUILD, Configuration: Debug Win32
> ------
> 6>Project not selected to build for this solution configuration
> ========== Build: 4 succeeded, 1 failed, 0 up-to-date, 1 skipped ==========
>
>
> ERRORS (152):
> Error 1842 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 144 1 kwiver
> Error 1843 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 144 1 kwiver
> Error 1845 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 145 1 kwiver
> Error 1846 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 145 1 kwiver
> Error 1848 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 148 1 kwiver
> Error 1849 error C2065: 'feature_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 148 1 kwiver
> Error 1851 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 147 1 kwiver
> Error 1852 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 147 1 kwiver
> Error 1854 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 148 1 kwiver
> Error 1855 error C2065: 'track_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 148 1 kwiver
> Error 1857 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 151 1 kwiver
> Error 1858 error C2065: 'output_image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 151 1 kwiver
> Error 1860 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 146 1 kwiver
> Error 1861 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 146 1 kwiver
> Error 1863 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 147 1 kwiver
> Error 1864 error C2065: 'track_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 147 1 kwiver
> Error 1866 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 150 1 kwiver
> Error 1867 error C2065: 'homography_src_to_ref' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 150 1 kwiver
> Error 1869 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 143 1 kwiver
> Error 1870 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 143 1 kwiver
> Error 1872 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 144 1 kwiver
> Error 1873 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 144 1 kwiver
> Error 1875 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 145 1 kwiver
> Error 1876 error C2065: 'feature_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 145 1 kwiver
> Error 1878 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 148 1 kwiver
> Error 1879 error C2065: 'descriptor_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 148 1 kwiver
> Error 1881 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 128 1 kwiver
> Error 1882 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 128 1 kwiver
> Error 1884 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 131 1 kwiver
> Error 1885 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 131 1 kwiver
> Error 1887 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 230 1 kwiver
> Error 1888 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 230 1 kwiver
> Error 1890 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 231 1 kwiver
> Error 1891 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 231 1 kwiver
> Error 1893 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 128 1 kwiver
> Error 1894 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 128 1 kwiver
> Error 1896 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 131 1 kwiver
> Error 1897 error C2065: 'detected_object_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 131 1 kwiver
> Error 1899 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\read_descriptor_process.cxx 122 1 kwiver
> Error 1900 error C2065: 'd_vector' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\read_descriptor_process.cxx 122 1 kwiver
> Error 1902 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 192 1 kwiver
> Error 1903 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 192 1 kwiver
> Error 1905 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 195 1 kwiver
> Error 1906 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 195 1 kwiver
> Error 1909 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 163 1 kwiver
> Error 1910 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 163 1 kwiver
> Error 1912 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 164 1 kwiver
> Error 1913 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 164 1 kwiver
> Error 1915 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 166 1 kwiver
> Error 1916 error C2065: 'homography_src_to_ref' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 166 1 kwiver
> Error 1919 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 238 1 kwiver
> Error 1920 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 238 1 kwiver
> Error 1922 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 239 1 kwiver
> Error 1923 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 239 1 kwiver
> Error 1925 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 240 1 kwiver
> Error 1926 error C2065: 'feature_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 240 1 kwiver
> Error 1928 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 241 1 kwiver
> Error 1929 error C2065: 'descriptor_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 241 1 kwiver
> Error 1931 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 244 1 kwiver
> Error 1932 error C2065: 'track_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 244 1 kwiver
> Error 1934 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 246 1 kwiver
> Error 1935 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 246 1 kwiver
> Error 1937 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 247 1 kwiver
> Error 1938 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 247 1 kwiver
> Error 1940 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 467 1 kwiver
> Error 1941 error C2065: 'detected_object_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 467 1 kwiver
> Error 1943 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 468 1 kwiver
> Error 1944 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 468 1 kwiver
> Error 1946 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 471 1 kwiver
> Error 1947 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 471 1 kwiver
> Error 1953 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 223 1 kwiver
> Error 1954 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 223 1 kwiver
> Error 1956 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 224 1 kwiver
> Error 1957 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 224 1 kwiver
> Error 1959 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 227 1 kwiver
> Error 1960 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 227 1 kwiver
> Error 2140 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 144 1 kwiver
> Error 2141 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 144 1 kwiver
> Error 2142 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 145 1 kwiver
> Error 2143 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 145 1 kwiver
> Error 2144 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 148 1 kwiver
> Error 2145 error C2065: 'feature_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\detect_features_process.cxx 148 1 kwiver
> Error 2146 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 147 1 kwiver
> Error 2147 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 147 1 kwiver
> Error 2148 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 148 1 kwiver
> Error 2149 error C2065: 'track_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 148 1 kwiver
> Error 2150 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 151 1 kwiver
> Error 2151 error C2065: 'output_image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\draw_tracks_process.cxx 151 1 kwiver
> Error 2152 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 146 1 kwiver
> Error 2153 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 146 1 kwiver
> Error 2154 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 147 1 kwiver
> Error 2155 error C2065: 'track_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 147 1 kwiver
> Error 2156 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 150 1 kwiver
> Error 2157 error C2065: 'homography_src_to_ref' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\compute_homography_process.cxx 150 1 kwiver
> Error 2158 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 143 1 kwiver
> Error 2159 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 143 1 kwiver
> Error 2160 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 144 1 kwiver
> Error 2161 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 144 1 kwiver
> Error 2162 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 145 1 kwiver
> Error 2163 error C2065: 'feature_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 145 1 kwiver
> Error 2164 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 148 1 kwiver
> Error 2165 error C2065: 'descriptor_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\extract_descriptors_process.cxx 148 1 kwiver
> Error 2166 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 128 1 kwiver
> Error 2167 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 128 1 kwiver
> Error 2168 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 131 1 kwiver
> Error 2169 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_filter_process.cxx 131 1 kwiver
> Error 2170 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 230 1 kwiver
> Error 2171 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 230 1 kwiver
> Error 2172 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 231 1 kwiver
> Error 2173 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\frame_list_process.cxx 231 1 kwiver
> Error 2174 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 128 1 kwiver
> Error 2175 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 128 1 kwiver
> Error 2176 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 131 1 kwiver
> Error 2177 error C2065: 'detected_object_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_object_detector_process.
> cxx 131 1 kwiver
> Error 2178 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\read_descriptor_process.cxx 122 1 kwiver
> Error 2179 error C2065: 'd_vector' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\read_descriptor_process.cxx 122 1 kwiver
> Error 2180 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 192 1 kwiver
> Error 2181 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 192 1 kwiver
> Error 2182 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 195 1 kwiver
> Error 2183 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\image_writer_process.cxx 195 1 kwiver
> Error 2184 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 163 1 kwiver
> Error 2185 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 163 1 kwiver
> Error 2186 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 164 1 kwiver
> Error 2187 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 164 1 kwiver
> Error 2188 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 166 1 kwiver
> Error 2189 error C2065: 'homography_src_to_ref' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\stabilize_image_process.cxx 166 1 kwiver
> Error 2190 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 238 1 kwiver
> Error 2191 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 238 1 kwiver
> Error 2192 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 239 1 kwiver
> Error 2193 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 239 1 kwiver
> Error 2194 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 240 1 kwiver
> Error 2195 error C2065: 'feature_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 240 1 kwiver
> Error 2196 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 241 1 kwiver
> Error 2197 error C2065: 'descriptor_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 241 1 kwiver
> Error 2198 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 244 1 kwiver
> Error 2199 error C2065: 'track_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\core\kwiver_
> processes.vcxproj] C:\VIAME\viame-full-source\packages\
> kwiver\sprokit\processes\core\matcher_process.cxx 244 1 kwiver
> Error 2200 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 246 1 kwiver
> Error 2201 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 246 1 kwiver
> Error 2202 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 247 1 kwiver
> Error 2203 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\image_viewer_process.cxx 247 1 kwiver
> Error 2204 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 467 1 kwiver
> Error 2205 error C2065: 'detected_object_set' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 467 1 kwiver
> Error 2206 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 468 1 kwiver
> Error 2207 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 468 1 kwiver
> Error 2208 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 471 1 kwiver
> Error 2209 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\processes\ocv\kwiver_
> processes_ocv.vcxproj] C:\VIAME\viame-full-source\packages\kwiver\sprokit\
> processes\ocv\draw_detected_object_boxes_process.cxx 471 1 kwiver
> Error 2210 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 223 1 kwiver
> Error 2211 error C2065: 'timestamp' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 223 1 kwiver
> Error 2212 error C2065: 'input' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 224 1 kwiver
> Error 2213 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 224 1 kwiver
> Error 2214 error C2065: 'output' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 227 1 kwiver
> Error 2215 error C2065: 'image' : undeclared identifier
> [C:\VIAME\build-vs12\build\src\kwiver-build\sprokit\
> processes\examples\process_template\template_processes.
> vcxproj] C:\VIAME\viame-full-source\packages\kwiver\
> sprokit\processes\examples\process_template\template_
> process.cxx 227 1 kwiver
> --]
>



-- 
Matthew Dawkins
1-518-881-4416
Senior R&D Engineer
Kitware, Inc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/viame/attachments/20160903/6c6befb7/attachment-0001.html>
-------------- next part --------------
diff --git a/CMake/kwiver-depends-VXL.cmake b/CMake/kwiver-depends-VXL.cmake
index f89329d..c5224c7 100644
--- a/CMake/kwiver-depends-VXL.cmake
+++ b/CMake/kwiver-depends-VXL.cmake
@@ -7,7 +7,6 @@ option( KWIVER_ENABLE_VXL
 
 if( KWIVER_ENABLE_VXL )
   find_package( VXL REQUIRED )
-  include(${VXL_CMAKE_DIR}/UseVXL.cmake)
   include_directories( SYSTEM ${VXL_CORE_INCLUDE_DIR} )
   include_directories( SYSTEM ${VXL_VCL_INCLUDE_DIR} )
   include_directories( SYSTEM ${VXL_RPL_INCLUDE_DIR} )
diff --git a/arrows/matlab/example_matlab_detector.pipe b/arrows/matlab/example_matlab_detector.pipe
index 0fb3bf8..2fce913 100644
--- a/arrows/matlab/example_matlab_detector.pipe
+++ b/arrows/matlab/example_matlab_detector.pipe
@@ -24,24 +24,18 @@ process detector
 # ================================================================
 process annotate
   :: draw_detected_object_boxes
-  :default_color   250 250 250
-  :default_line_thickness 3
+
+
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
 :annotate_image         true
 :pause_time             1.0
 :footer                 NOAA images
 :header                 header-header
 
 # ================================================================
-process writer
-  :: image_writer
-  :file_name_template image%04d.jpg
-  :image_writer:type ocv
-
-# ================================================================
 # global pipeline config
 #
 config _pipeline:_edge
@@ -63,6 +57,3 @@ connect from detector.detected_object_set
 
 connect from annotate.image
         to   disp.image
-
-connect from annotate.image
-        to   writer.image
diff --git a/arrows/matlab/example_matlab_filter.pipe b/arrows/matlab/example_matlab_filter.pipe
index 8b90e0f..3cdfc70 100644
--- a/arrows/matlab/example_matlab_filter.pipe
+++ b/arrows/matlab/example_matlab_filter.pipe
@@ -23,7 +23,7 @@ process filter
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
 :annotate_image         true
 :pause_time             1.0
 :footer                 NOAA images
diff --git a/arrows/matlab/tests/test_matlab_util.cxx b/arrows/matlab/tests/test_matlab_util.cxx
index 02381ec..7343cea 100644
--- a/arrows/matlab/tests/test_matlab_util.cxx
+++ b/arrows/matlab/tests/test_matlab_util.cxx
@@ -42,8 +42,6 @@
 #include <opencv2/core/core.hpp>
 #include <opencv2/highgui/highgui.hpp>
 
-#define DEBUG 0
-
 #define TEST_ARGS ( kwiver::vital::path_t const &data_dir )
 
 DECLARE_TEST_MAP();
@@ -75,27 +73,15 @@
 
   auto ic_sptr = std::make_shared< kwiver::arrows::ocv::image_container >( ocv_image );
 
-#if DEBUG
   cv::namedWindow( "input OCV image", cv::WINDOW_AUTOSIZE ); // Create a window for display.
   cv::imshow( "input OCV image", ocv_image ); // Show our image inside it.
   cv::waitKey( 000 ); // pause for keystroke
-#endif
 
   kwiver::arrows::matlab::MxArraySptr mx_image = kwiver::arrows::matlab::convert_mx_image( ic_sptr );
 
   auto ocv_ic = kwiver::arrows::matlab::convert_mx_image( mx_image );
-  cv::Mat ocv_ic_mat = kwiver::arrows::ocv::image_container::vital_to_ocv( ocv_ic->get_image() );
 
-#if DEBUG
   cv::namedWindow( "output OCV image", cv::WINDOW_AUTOSIZE ); // Create a window for display.
-  cv::imshow( "output OCV image", ocv_ic_mat ); // Show our image inside it.
+  cv::imshow( "output OCV image", ocv_image ); // Show our image inside it.
   cv::waitKey( 000 ); // pause for keystroke
-#endif
-
-  // Test to see if the images are the same
-  bool isEqual = (cv::sum(ocv_image != ocv_ic_mat) == cv::Scalar(0,0,0,0));
-  if ( ! isEqual )
-  {
-    TEST_ERROR( "Images fail comparison." );
-  }
 }
diff --git a/sprokit/pipelines/examples/SMQTK_tests/image_reader_only.pipe b/sprokit/pipelines/examples/SMQTK_tests/image_reader_only.pipe
index 1518d52..020f442 100644
--- a/sprokit/pipelines/examples/SMQTK_tests/image_reader_only.pipe
+++ b/sprokit/pipelines/examples/SMQTK_tests/image_reader_only.pipe
@@ -14,7 +14,7 @@ process input
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
 :annotate_image         true
 :pause_time             2.0
 :footer                 footer_footer
diff --git a/sprokit/pipelines/examples/hough_detector/hough_detector.pipe b/sprokit/pipelines/examples/hough_detector/hough_detector.pipe
index f757e80..6e50c9b 100644
--- a/sprokit/pipelines/examples/hough_detector/hough_detector.pipe
+++ b/sprokit/pipelines/examples/hough_detector/hough_detector.pipe
@@ -24,7 +24,7 @@ process draw
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
   :annotate_image         true
   # pause_time in seconds. 0 means wait for keystroke.
   :pause_time             0  # 1.0
diff --git a/sprokit/pipelines/examples/image_reader.pipe b/sprokit/pipelines/examples/image_reader.pipe
index f9b77f4..d055b2a 100644
--- a/sprokit/pipelines/examples/image_reader.pipe
+++ b/sprokit/pipelines/examples/image_reader.pipe
@@ -14,7 +14,7 @@ process input
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
 :annotate_image         true
 :pause_time             2.0
 :footer                 footer_footer
diff --git a/sprokit/pipelines/image_processing/images_to_kwa.pipe b/sprokit/pipelines/image_processing/images_to_kwa.pipe
index 1a0e358..ffcf525 100644
--- a/sprokit/pipelines/image_processing/images_to_kwa.pipe
+++ b/sprokit/pipelines/image_processing/images_to_kwa.pipe
@@ -330,7 +330,7 @@ process writer
 
 # ================================================================
 #process disp
-#  :: image_viewer
+#  :: view_image
 #:annotate_image         true
 #:pause_time             2.0
 #:footer                 Feature Tracks
diff --git a/sprokit/pipelines/images_to_kwa_split.pipe b/sprokit/pipelines/images_to_kwa_split.pipe
index 1a0e358..ffcf525 100644
--- a/sprokit/pipelines/images_to_kwa_split.pipe
+++ b/sprokit/pipelines/images_to_kwa_split.pipe
@@ -330,7 +330,7 @@ process writer
 
 # ================================================================
 #process disp
-#  :: image_viewer
+#  :: view_image
 #:annotate_image         true
 #:pause_time             2.0
 #:footer                 Feature Tracks
diff --git a/sprokit/pipelines/images_to_python.pipe b/sprokit/pipelines/images_to_python.pipe
index 6aa0267..c28e418 100644
--- a/sprokit/pipelines/images_to_python.pipe
+++ b/sprokit/pipelines/images_to_python.pipe
@@ -29,7 +29,7 @@ process process
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
 :annotate_image         true
 :pause_time             2.0
 :footer                 Feature Tracks
diff --git a/sprokit/pipelines/video_display.pipe b/sprokit/pipelines/video_display.pipe
index b5f614d..b21823f 100644
--- a/sprokit/pipelines/video_display.pipe
+++ b/sprokit/pipelines/video_display.pipe
@@ -12,7 +12,7 @@ process input
 
 # ================================================================
 process disp
-  :: image_viewer
+  :: view_image
 :annotate_image         true
 :pause_time             0.0333 # 1.0
 :footer                 footer_footer
diff --git a/sprokit/processes/adapters/adapter_data_set.h b/sprokit/processes/adapters/adapter_data_set.h
index f3b7e30..f790314 100644
--- a/sprokit/processes/adapters/adapter_data_set.h
+++ b/sprokit/processes/adapters/adapter_data_set.h
@@ -218,7 +218,7 @@ class KWIVER_ADAPTER_EXPORT adapter_data_set VITAL_FINAL
     auto it = this->find( port );
     if ( it == this->end() )
     {
-      throw std::runtime_error( "Data for port \"" + port + "\" is not in the adapter_data_set." );
+      throw throw std::runtime_error( "Data for port \"" + port + "\" is not in the adapter_data_set." );
     }
     return it->second->get_datum<T>();
   }
diff --git a/sprokit/processes/core/CMakeLists.txt b/sprokit/processes/core/CMakeLists.txt
index 5b6d377..1d01a79 100644
--- a/sprokit/processes/core/CMakeLists.txt
+++ b/sprokit/processes/core/CMakeLists.txt
@@ -13,7 +13,6 @@ set( sources
   frame_list_process.cxx
   image_filter_process.cxx
   image_object_detector_process.cxx
-  image_writer_process.cxx
   matcher_process.cxx
   read_descriptor_process.cxx
   stabilize_image_process.cxx
@@ -27,7 +26,6 @@ set( private_headers
   frame_list_process.h
   image_filter_process.h
   image_object_detector_process.h
-  image_writer_process.h
   matcher_process.h
   read_descriptor_process.h
   stabilize_image_process.h
diff --git a/sprokit/processes/core/frame_list_process.cxx b/sprokit/processes/core/frame_list_process.cxx
index 2c5f647..67f1dca 100644
--- a/sprokit/processes/core/frame_list_process.cxx
+++ b/sprokit/processes/core/frame_list_process.cxx
@@ -171,6 +171,7 @@ class frame_list_process::priv
 void frame_list_process
 ::_step()
 {
+
   if ( d->m_current_file != d->m_files.end() )
   {
     // still have an image to read
diff --git a/sprokit/processes/core/image_writer_process.cxx b/sprokit/processes/core/image_writer_process.cxx
deleted file mode 100644
index cc0899c..0000000
--- a/sprokit/processes/core/image_writer_process.cxx
+++ /dev/null
@@ -1,221 +0,0 @@
-/*ckwg +29
- * Copyright 2016 by Kitware, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *
- *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
- *    to endorse or promote products derived from this software without specific
- *    prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS [yas] elisp error!AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "image_writer_process.h"
-
-#include <vital/algorithm_plugin_manager.h>
-#include <vital/vital_types.h>
-#include <vital/types/image_container.h>
-#include <vital/types/image.h>
-#include <vital/types/timestamp.h>
-#include <vital/algo/image_io.h>
-#include <vital/exceptions.h>
-#include <vital/util/string_format.h>
-
-#include <kwiver_type_traits.h>
-
-#include <sprokit/pipeline/process_exception.h>
-#include <sprokit/pipeline/datum.h>
-
-#include <kwiversys/SystemTools.hxx>
-
-#include <vector>
-#include <stdint.h>
-#include <fstream>
-
-// -- DEBUG
-#if defined DEBUG
-#include <arrows/algorithms/ocv/image_container.h>
-#include <opencv2/highgui/highgui.hpp>
-using namespace cv;
-#endif
-
-namespace algo = kwiver::vital::algo;
-
-namespace kwiver {
-
-// (config-key, value-type, default-value, description )
-create_config_trait( file_name_template, std::string, "image%04d.png",
-                     "Template for generating output file names. The template is interpreted as a printf format with one "
-                     "format specifier to convert an integer increasing image number. "
-                     "The image file type is determined by the file extension and the concrete writer selected." );
-
-// This is more for documentation
-create_config_trait( image_writer, std::string , "", "Config block name to configure algorithm. "
-                       "The algorithm type is selected with \"image_writer:type\". Specific writer parameters "
-                       "depend on writer type selected.");
-
-//----------------------------------------------------------------
-// Private implementation class
-class image_writer_process::priv
-{
-public:
-  priv();
-  ~priv();
-
-  // Configuration values
-  std::string m_file_template;
-
-  // Number for current image.
-  kwiver::vital::timestamp::frame_t m_frame_number;
-
-  // processing classes
-  algo::image_io_sptr m_image_writer;
-
-}; // end priv class
-
-
-// ================================================================
-
-image_writer_process
-::image_writer_process( kwiver::vital::config_block_sptr const& config )
-  : process( config ),
-    d( new image_writer_process::priv )
-{
-  // Attach our logger name to process logger
-  attach_logger( kwiver::vital::get_logger( name() ) ); // could use a better approach
-  kwiver::vital::algorithm_plugin_manager::load_plugins_once();
-  make_ports();
-  make_config();
-}
-
-
-image_writer_process
-::~image_writer_process()
-{
-}
-
-
-// ----------------------------------------------------------------
-void image_writer_process
-::_configure()
-{
-  // Get process config entries
-  d->m_file_template = config_value_using_trait( file_name_template );
-
-  // Get algo conrig entries
-  kwiver::vital::config_block_sptr algo_config = get_config(); // config for process
-  algo::image_io::set_nested_algo_configuration( "image_writer", algo_config, d->m_image_writer);
-  if ( ! d->m_image_writer )
-  {
-    throw sprokit::invalid_configuration_exception( name(),
-             "Unable to create image_writer." );
-  }
-
-  // instantiate image reader and converter based on config type
-  if ( ! algo::image_io::check_nested_algo_configuration( "image_writer", algo_config ) )
-  {
-    throw sprokit::invalid_configuration_exception( name(), "Configuration check failed." );
-  }
-}
-
-
-// ----------------------------------------------------------------
-void image_writer_process
-::_step()
-{
-  if ( has_input_port_edge_using_trait( timestamp ) )
-  {
-    kwiver::vital::timestamp frame_time;
-    frame_time = grab_from_port_using_trait( timestamp );
-    if (frame_time.has_valid_frame() )
-    {
-      kwiver::vital::timestamp::frame_t next_frame;
-      next_frame = frame_time.get_frame();
-
-      if ( next_frame <= d->m_frame_number )
-      {
-        ++d->m_frame_number;
-        LOG_WARN( logger(), "Frame number from input timestamp ("
-                  << next_frame
-                  << ") is not greater than last frame number. Adjusting frame number to "
-                  << d->m_frame_number );
-      }
-    }
-    else
-    {
-      // timestamp does not have valid frame number
-      ++d->m_frame_number;
-    }
-  }
-  else
-  {
-    // timestamp port not connected.
-    ++d->m_frame_number;
-  }
-
-  vital::image_container_sptr input = grab_from_port_using_trait( image );
-
-  std::string a_file = kwiver::vital::string_format( d->m_file_template, d->m_frame_number );
-
-  LOG_DEBUG( logger(), "Writing image to file \"" << a_file << "\"" );
-  d->m_image_writer->save( a_file, input );
-}
-
-
-// ----------------------------------------------------------------
-void image_writer_process
-::make_ports()
-{
-  // Set up for required ports
-  sprokit::process::port_flags_t optional;
-  sprokit::process::port_flags_t required;
-  required.insert( flag_required );
-
-  declare_input_port_using_trait( image, required );
-  declare_input_port_using_trait( timestamp, optional,
-    "Image timestamp, optional. The frame number from this timestamp is used to number the output files. "
-    "If the timestamp is not connected or not valid, the output files are sequentially numbered from 1." );
-}
-
-
-// ----------------------------------------------------------------
-void image_writer_process
-::make_config()
-{
-  declare_config_using_trait( file_name_template );
-  declare_config_using_trait( image_writer );
-}
-
-
-// ================================================================
-image_writer_process::priv
-::priv()
-  : m_frame_number(0)
-{
-}
-
-
-image_writer_process::priv
-::~priv()
-{
-}
-
-} // end namespace
diff --git a/sprokit/processes/core/image_writer_process.h b/sprokit/processes/core/image_writer_process.h
deleted file mode 100644
index 0e9e084..0000000
--- a/sprokit/processes/core/image_writer_process.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/*ckwg +29
- * Copyright 2016 by Kitware, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *
- *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
- *    to endorse or promote products derived from this software without specific
- *    prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _KWIVER_IMAGE_WRITER_PROCESS_H_
-#define _KWIVER_IMAGE_WRITER_PROCESS_H_
-
-#include <sprokit/pipeline/process.h>
-#include "kwiver_processes_export.h"
-
-#include <memory>
-
-namespace kwiver
-{
-
-// ----------------------------------------------------------------
-/**
- * \class image_writer_process
- *
- * \brief Reads a series of images
- *
- * \iports
- * \iport{image}
- * \iport{timetamp}
- *
- */
-class KWIVER_PROCESSES_NO_EXPORT image_writer_process
-  : public sprokit::process
-{
-public:
-  image_writer_process( kwiver::vital::config_block_sptr const& config );
-  virtual ~image_writer_process();
-
-
-protected:
-  virtual void _configure();
-  virtual void _step();
-
-private:
-  void make_ports();
-  void make_config();
-
-  class priv;
-  const std::unique_ptr<priv> d;
-}; // end class image_writer_process
-
-}  // end namespace
-
-#endif // _KWIVER_IMAGE_WRITER_PROCESS_H_
diff --git a/sprokit/processes/core/register_processes.cxx b/sprokit/processes/core/register_processes.cxx
index 8427c6a..841fb9a 100644
--- a/sprokit/processes/core/register_processes.cxx
+++ b/sprokit/processes/core/register_processes.cxx
@@ -41,7 +41,6 @@
 #include "stabilize_image_process.h"
 #include "image_object_detector_process.h"
 #include "image_filter_process.h"
-#include "image_writer_process.h"
 
 
 extern "C"
@@ -108,10 +107,6 @@ void register_processes()
     "image_filter", "Apply selected image filter algorithm to incoming images.",
     sprokit::create_process< kwiver::image_filter_process > );
 
-  registry->register_process(
-    "image_writer", "Write image to disk.",
-    sprokit::create_process< kwiver::image_writer_process > );
-
   // - - - - - - - - - - - - - - - - - - - - - - -
   registry->mark_module_as_loaded( module_name );
 }
diff --git a/sprokit/processes/examples/CMakeLists.txt b/sprokit/processes/examples/CMakeLists.txt
index 5efda73..69043be 100644
--- a/sprokit/processes/examples/CMakeLists.txt
+++ b/sprokit/processes/examples/CMakeLists.txt
@@ -5,6 +5,4 @@ if ( KWIVER_ENABLE_VXL AND KWIVER_ENABLE_OPENCV )
   # add_subdirectory( call_SMQTK_pipeline )
 endif()
 
-if ( KWIVER_ENABLE_OPENCV )
-  add_subdirectory( process_template )
-endif()
+add_subdirectory( process_template )
diff --git a/sprokit/processes/ocv/CMakeLists.txt b/sprokit/processes/ocv/CMakeLists.txt
index 2210c9a..9fc194f 100644
--- a/sprokit/processes/ocv/CMakeLists.txt
+++ b/sprokit/processes/ocv/CMakeLists.txt
@@ -7,12 +7,12 @@ set( sources
   register_processes.cxx
 
   draw_detected_object_boxes_process.cxx
-  image_viewer_process.cxx
+  view_image_process.cxx
 )
 
 set( private_headers
   draw_detected_object_boxes_process.h
-  image_viewer_process.h
+  view_image_process.h
 )
 
 kwiver_private_header_group( ${private_headers} )
diff --git a/sprokit/processes/ocv/image_viewer_process.cxx b/sprokit/processes/ocv/image_viewer_process.cxx
deleted file mode 100644
index e148af7..0000000
--- a/sprokit/processes/ocv/image_viewer_process.cxx
+++ /dev/null
@@ -1,278 +0,0 @@
-/*ckwg +29
- * Copyright 2015 by Kitware, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *
- *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
- *    to endorse or promote products derived from this software without specific
- *    prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * \file
- * \brief Image display process implementation.
- */
-
-#include "image_viewer_process.h"
-
-#include <vital/vital_types.h>
-#include <vital/types/timestamp.h>
-#include <vital/types/timestamp_config.h>
-#include <vital/types/image_container.h>
-
-#include <kwiver_type_traits.h>
-
-#include <arrows/ocv/image_container.h>
-
-#include <opencv2/highgui/highgui.hpp>
-#include <opencv2/imgproc/imgproc.hpp>
-
-#include <sstream>
-#include <iostream>
-
-
-namespace kwiver {
-
-// config items
-  // <name>, <type>, <default string>, <description>
-create_config_trait( pause_time, float, "0", "Interval to pause between frames. 0 means wait for keystroke, "
-                     "Otherwise interval is in seconds (float)" );
-create_config_trait( annotate_image, bool, "false", "Add frame number and other text to display." );
-create_config_trait( title, std::string, "Display window", "Display window title text.." );
-create_config_trait( header, std::string, "", "Header text for image display." );
-create_config_trait( footer, std::string, "", "Footer text for image display. Displayed centered at bottom of image." );
-
-//----------------------------------------------------------------
-// Private implementation class
-class image_viewer_process::priv
-{
-public:
-  priv();
-  ~priv();
-
-
-  // Configuration values
-  int m_pause_ms;
-  bool m_annotate_image;
-  std::string m_title;
-  std::string m_header;
-  std::string m_footer;
-
-
-  // ------------------------------------------------------------------
-  cv::Mat
-  annotate_image( cv::Mat cv_img, kwiver::vital::timestamp::frame_t frame)
-  {
-    static const int font_face = cv::FONT_HERSHEY_SIMPLEX;
-    static const double font_scale( 1.0 );
-    static const int font_thickness( 2 );
-
-    std::stringstream display_text;
-
-    display_text << "Frame: " << frame;
-
-    // Get text box size
-    int baseline( 0 );
-    cv::Size tbox = cv::getTextSize( display_text.str(), // text
-                                     font_face, // font code number
-                                     font_scale, // Font scale factor that is multiplied by the font-specific base size.
-                                     font_thickness, // Thickness of lines used to render the text.
-                                     &baseline ); // o: y-coordinate of the baseline relative to the bottom-most text point.
-    cv::Mat image;
-
-    // Add borders to the image top and bottom
-    cv::copyMakeBorder( cv_img, image, // input, output images
-                        tbox.height + 8, tbox.height + 8,     // top, bottom
-                        0, 0,     // left, right
-                        cv::BORDER_CONSTANT,
-                        cv::Scalar::all( 255 ) ); // White fill
-
-    // Put this in the top border
-    cv::Point text_org( 5, tbox.height + 3 );
-
-    cv::putText( image,             // image array
-                 display_text.str(), // text to display
-                 text_org,          // bottom left corner of text
-                 font_face,         // font face
-                 font_scale,        // font scale
-                 cv::Scalar::all( 10 ), // text color
-                 font_thickness );  // Thickness of the lines used to draw a text
-
-    // header
-    if ( ! m_header.empty() )
-    {
-      cv::Size tbox = cv::getTextSize( m_header,
-                                       font_face,
-                                       font_scale,
-                                       font_thickness,
-                                       &baseline );
-
-      // Calculate point for lower left of text block
-      cv::Point header_org( ( image.cols - tbox.width ) / 2,
-                            tbox.height + 3 );
-
-      cv::putText( image,
-                   m_header,
-                   header_org,
-                   font_face,
-                   font_scale,
-                   cv::Scalar::all( 10 ),
-                   font_thickness );
-    }
-
-    // footer
-    if ( ! m_footer.empty() )
-    {
-      cv::Size tbox = cv::getTextSize( m_footer,
-                                       font_face,
-                                       font_scale,
-                                       font_thickness,
-                                       &baseline );
-
-      // Calculate point for lower left of text block
-      cv::Point footer_org( ( image.cols - tbox.width ) / 2,
-                            ( image.rows - 3 ) );
-
-      cv::putText( image,
-                   m_footer,
-                   footer_org,
-                   font_face,
-                   font_scale,
-                   cv::Scalar::all( 10 ),
-                   font_thickness );
-    }
-
-    return image;
-  } // annotate_image
-
-}; // end priv class
-
-
-// ================================================================
-
-image_viewer_process
-::image_viewer_process( kwiver::vital::config_block_sptr const& config )
-  : process( config ),
-    d( new image_viewer_process::priv )
-{
-  attach_logger( kwiver::vital::get_logger( name() ) ); // could use a better approach
-  make_ports();
-  make_config();
-}
-
-
-image_viewer_process
-::~image_viewer_process()
-{
-}
-
-
-// ----------------------------------------------------------------
-void
-image_viewer_process
-::_configure()
-{
-  d->m_pause_ms = static_cast< int >( config_value_using_trait( pause_time ) * 1000.0 ); // convert to msec
-  d->m_annotate_image = config_value_using_trait( annotate_image );
-  d->m_title          = config_value_using_trait( title );
-  d->m_header         = config_value_using_trait( header );
-  d->m_footer         = config_value_using_trait( footer );
-}
-
-
-// ----------------------------------------------------------------
-void
-image_viewer_process
-::_step()
-{
-  kwiver::vital::timestamp frame_time;
-
-  // Test to see if optional port is connected.
-  if (has_input_port_edge_using_trait( timestamp ) )
-  {
-    frame_time = grab_input_using_trait( timestamp );
-  }
-
-  kwiver::vital::image_container_sptr img = grab_from_port_using_trait( image );
-
-  LOG_DEBUG( logger(), "Processing frame " << frame_time );
-
-  cv::Mat image = arrows::ocv::image_container::vital_to_ocv( img->get_image() );
-
-  if ( d->m_annotate_image )
-  {
-    image = d->annotate_image( image, frame_time.get_frame() );
-  }
-
-  cv::namedWindow( d->m_title, cv::WINDOW_NORMAL ); // Create a window for display.
-  cv::imshow( d->m_title, image ); // Show our image inside it.
-
-  cv::waitKey( d->m_pause_ms );
-}
-
-
-// ----------------------------------------------------------------
-void
-image_viewer_process
-::make_ports()
-{
-  // Set up for required ports
-  sprokit::process::port_flags_t required;
-  sprokit::process::port_flags_t optional;
-
-  required.insert( flag_required );
-
-  // -- input --
-  declare_input_port_using_trait( timestamp, optional );
-  declare_input_port_using_trait( image, required );
-}
-
-
-// ----------------------------------------------------------------
-void
-image_viewer_process
-::make_config()
-{
-  declare_config_using_trait( pause_time );
-  declare_config_using_trait( annotate_image );
-  declare_config_using_trait( title );
-  declare_config_using_trait( header );
-  declare_config_using_trait( footer );
-}
-
-
-// ================================================================
-image_viewer_process::priv
-::priv()
-  : m_pause_ms( 0 ),
-    m_annotate_image( false )
-{
-}
-
-
-image_viewer_process::priv
-::~priv()
-{
-}
-
-} // end namespace
diff --git a/sprokit/processes/ocv/image_viewer_process.h b/sprokit/processes/ocv/image_viewer_process.h
deleted file mode 100644
index 064195e..0000000
--- a/sprokit/processes/ocv/image_viewer_process.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*ckwg +29
- * Copyright 2015 by Kitware, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *
- *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
- *    to endorse or promote products derived from this software without specific
- *    prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/**
- * \file
- * \brief Image display process interface.
- */
-
-#ifndef _KWIVER_IMAGE_VIEWER_PROCESS_H
-#define _KWIVER_IMAGE_VIEWER_PROCESS_H
-
-#include <sprokit/pipeline/process.h>
-#include "kwiver_processes_ocv_export.h"
-
-#include <memory>
-
-namespace kwiver
-{
-
-// ----------------------------------------------------------------
-/**
- * @brief Display images
- *
- */
-class KWIVER_PROCESSES_OCV_NO_EXPORT image_viewer_process
-  : public sprokit::process
-{
-public:
-  // -- CONSTRUCTORS --
-  image_viewer_process( kwiver::vital::config_block_sptr const& config );
-  virtual ~image_viewer_process();
-
-protected:
-  virtual void _configure();
-  virtual void _step();
-
-private:
-  void make_ports();
-  void make_config();
-
-
-  class priv;
-  const std::unique_ptr<priv> d;
-
-}; // end class image_viewer_process
-
-} // end namespace
-
-#endif // _KWIVER_IMAGE_VIEWER_PROCESS_H
diff --git a/sprokit/processes/ocv/register_processes.cxx b/sprokit/processes/ocv/register_processes.cxx
index 59c921c..88475ee 100644
--- a/sprokit/processes/ocv/register_processes.cxx
+++ b/sprokit/processes/ocv/register_processes.cxx
@@ -31,7 +31,7 @@
 #include <sprokit/pipeline/process_registry.h>
 
 // -- list processes to register --
-#include "image_viewer_process.h"
+#include "view_image_process.h"
 #include "draw_detected_object_boxes_process.h"
 
 
@@ -59,13 +59,8 @@ void register_processes()
   // ----------------------------------------------------------------
 
   registry->register_process(
-    "image_viewer", "Display input image and delay",
-    sprokit::create_process< kwiver::image_viewer_process > );
-
-  registry->register_process( //+ support for legacy process name. Will be
-    "view_image", "Display input image and delay. Legacy process and will be removed in a future release. "
-    "Convert to use \"image_viewer\" before it is too late.",
-    sprokit::create_process< kwiver::image_viewer_process > );
+    "view_image", "Display input image and delay",
+    sprokit::create_process< kwiver::view_image_process > );
 
   registry->register_process(
     "draw_detected_object_boxes",
diff --git a/sprokit/processes/ocv/view_image_process.cxx b/sprokit/processes/ocv/view_image_process.cxx
new file mode 100644
index 0000000..eeda7b1
--- /dev/null
+++ b/sprokit/processes/ocv/view_image_process.cxx
@@ -0,0 +1,279 @@
+/*ckwg +29
+ * Copyright 2015 by Kitware, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
+ *    to endorse or promote products derived from this software without specific
+ *    prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * \file
+ * \brief Image display process implementation.
+ */
+
+#include "view_image_process.h"
+
+#include <vital/vital_types.h>
+#include <vital/types/timestamp.h>
+#include <vital/types/timestamp_config.h>
+#include <vital/types/image_container.h>
+
+#include <kwiver_type_traits.h>
+
+#include <arrows/ocv/image_container.h>
+
+#include <opencv2/highgui/highgui.hpp>
+#include <opencv2/imgproc/imgproc.hpp>
+
+#include <sstream>
+#include <iostream>
+
+
+namespace kwiver {
+
+// config items
+  // <name>, <type>, <default string>, <description>
+create_config_trait( pause_time, float, "0", "Interval to pause between frames. 0 means wait for keystroke, "
+                     "Otherwise interval is in seconds (float)" );
+create_config_trait( annotate_image, bool, "false", "Add frame number and other text to display." );
+create_config_trait( title, std::string, "Display window", "Display window title text.." );
+create_config_trait( header, std::string, "", "Header text for image display." );
+create_config_trait( footer, std::string, "", "Footer text for image display. Displayed centered at bottom of image." );
+
+
+//----------------------------------------------------------------
+// Private implementation class
+class view_image_process::priv
+{
+public:
+  priv();
+  ~priv();
+
+
+  // Configuration values
+  int m_pause_ms;
+  bool m_annotate_image;
+  std::string m_title;
+  std::string m_header;
+  std::string m_footer;
+
+
+  // ------------------------------------------------------------------
+  cv::Mat
+  annotate_image( cv::Mat cv_img, kwiver::vital::timestamp::frame_t frame)
+  {
+    static const int font_face = cv::FONT_HERSHEY_SIMPLEX;
+    static const double font_scale( 1.0 );
+    static const int font_thickness( 2 );
+
+    std::stringstream display_text;
+
+    display_text << "Frame: " << frame;
+
+    // Get text box size
+    int baseline( 0 );
+    cv::Size tbox = cv::getTextSize( display_text.str(), // text
+                                     font_face, // font code number
+                                     font_scale, // Font scale factor that is multiplied by the font-specific base size.
+                                     font_thickness, // Thickness of lines used to render the text.
+                                     &baseline ); // o: y-coordinate of the baseline relative to the bottom-most text point.
+    cv::Mat image;
+
+    // Add borders to the image top and bottom
+    cv::copyMakeBorder( cv_img, image, // input, output images
+                        tbox.height + 8, tbox.height + 8,     // top, bottom
+                        0, 0,     // left, right
+                        cv::BORDER_CONSTANT,
+                        cv::Scalar::all( 255 ) ); // White fill
+
+    // Put this in the top border
+    cv::Point text_org( 5, tbox.height + 3 );
+
+    cv::putText( image,             // image array
+                 display_text.str(), // text to display
+                 text_org,          // bottom left corner of text
+                 font_face,         // font face
+                 font_scale,        // font scale
+                 cv::Scalar::all( 10 ), // text color
+                 font_thickness );  // Thickness of the lines used to draw a text
+
+    // header
+    if ( ! m_header.empty() )
+    {
+      cv::Size tbox = cv::getTextSize( m_header,
+                                       font_face,
+                                       font_scale,
+                                       font_thickness,
+                                       &baseline );
+
+      // Calculate point for lower left of text block
+      cv::Point header_org( ( image.cols - tbox.width ) / 2,
+                            tbox.height + 3 );
+
+      cv::putText( image,
+                   m_header,
+                   header_org,
+                   font_face,
+                   font_scale,
+                   cv::Scalar::all( 10 ),
+                   font_thickness );
+    }
+
+    // footer
+    if ( ! m_footer.empty() )
+    {
+      cv::Size tbox = cv::getTextSize( m_footer,
+                                       font_face,
+                                       font_scale,
+                                       font_thickness,
+                                       &baseline );
+
+      // Calculate point for lower left of text block
+      cv::Point footer_org( ( image.cols - tbox.width ) / 2,
+                            ( image.rows - 3 ) );
+
+      cv::putText( image,
+                   m_footer,
+                   footer_org,
+                   font_face,
+                   font_scale,
+                   cv::Scalar::all( 10 ),
+                   font_thickness );
+    }
+
+    return image;
+  } // annotate_image
+
+}; // end priv class
+
+
+// ================================================================
+
+view_image_process
+::view_image_process( kwiver::vital::config_block_sptr const& config )
+  : process( config ),
+    d( new view_image_process::priv )
+{
+  attach_logger( kwiver::vital::get_logger( name() ) ); // could use a better approach
+  make_ports();
+  make_config();
+}
+
+
+view_image_process
+::~view_image_process()
+{
+}
+
+
+// ----------------------------------------------------------------
+void
+view_image_process
+::_configure()
+{
+  d->m_pause_ms = static_cast< int >( config_value_using_trait( pause_time ) * 1000.0 ); // convert to msec
+  d->m_annotate_image = config_value_using_trait( annotate_image );
+  d->m_title          = config_value_using_trait( title );
+  d->m_header         = config_value_using_trait( header );
+  d->m_footer         = config_value_using_trait( footer );
+}
+
+
+// ----------------------------------------------------------------
+void
+view_image_process
+::_step()
+{
+  kwiver::vital::timestamp frame_time;
+
+  // Test to see if optional port is connected.
+  if (has_input_port_edge_using_trait( timestamp ) )
+  {
+    frame_time = grab_input_using_trait( timestamp );
+  }
+
+  kwiver::vital::image_container_sptr img = grab_from_port_using_trait( image );
+
+  LOG_DEBUG( logger(), "Processing frame " << frame_time );
+
+  cv::Mat image = arrows::ocv::image_container::vital_to_ocv( img->get_image() );
+
+  if ( d->m_annotate_image )
+  {
+    image = d->annotate_image( image, frame_time.get_frame() );
+  }
+
+  cv::namedWindow( d->m_title, cv::WINDOW_AUTOSIZE ); // Create a window for display.
+  cv::imshow( d->m_title, image ); // Show our image inside it.
+
+  cv::waitKey( d->m_pause_ms );
+}
+
+
+// ----------------------------------------------------------------
+void
+view_image_process
+::make_ports()
+{
+  // Set up for required ports
+  sprokit::process::port_flags_t required;
+  sprokit::process::port_flags_t optional;
+
+  required.insert( flag_required );
+
+  // -- input --
+  declare_input_port_using_trait( timestamp, optional );
+  declare_input_port_using_trait( image, required );
+}
+
+
+// ----------------------------------------------------------------
+void
+view_image_process
+::make_config()
+{
+  declare_config_using_trait( pause_time );
+  declare_config_using_trait( annotate_image );
+  declare_config_using_trait( title );
+  declare_config_using_trait( header );
+  declare_config_using_trait( footer );
+}
+
+
+// ================================================================
+view_image_process::priv
+::priv()
+  : m_pause_ms( 0 ),
+    m_annotate_image( false )
+{
+}
+
+
+view_image_process::priv
+::~priv()
+{
+}
+
+} // end namespace
diff --git a/sprokit/processes/ocv/view_image_process.h b/sprokit/processes/ocv/view_image_process.h
new file mode 100644
index 0000000..f6cb641
--- /dev/null
+++ b/sprokit/processes/ocv/view_image_process.h
@@ -0,0 +1,76 @@
+/*ckwg +29
+ * Copyright 2015 by Kitware, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *  * Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ *
+ *  * Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ *
+ *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
+ *    to endorse or promote products derived from this software without specific
+ *    prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
+ * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/**
+ * \file
+ * \brief Image display process interface.
+ */
+
+#ifndef _KWIVER_VIEW_IMAGE_PROCESS_H
+#define _KWIVER_VIEW_IMAGE_PROCESS_H
+
+#include <sprokit/pipeline/process.h>
+#include "kwiver_processes_ocv_export.h"
+
+#include <memory>
+
+namespace kwiver
+{
+
+// ----------------------------------------------------------------
+/**
+ * @brief Display images
+ *
+ */
+class KWIVER_PROCESSES_OCV_NO_EXPORT view_image_process
+  : public sprokit::process
+{
+public:
+  // -- CONSTRUCTORS --
+  view_image_process( kwiver::vital::config_block_sptr const& config );
+  virtual ~view_image_process();
+
+protected:
+  virtual void _configure();
+  virtual void _step();
+
+private:
+  void make_ports();
+  void make_config();
+
+
+  class priv;
+  const std::unique_ptr<priv> d;
+
+}; // end class view_image_process
+
+} // end namespace
+
+#endif /* _KWIVER_VIEW_IMAGE_PROCESS_H */
diff --git a/sprokit/processes/trait_utils.h b/sprokit/processes/trait_utils.h
index b25a0a0..4fb7438 100644
--- a/sprokit/processes/trait_utils.h
+++ b/sprokit/processes/trait_utils.h
@@ -227,38 +227,12 @@
 sprokit::process::port_description_t const PN ## _port_trait::description = sprokit::process::port_description_t( DESCRIP ); }
 
 
-//
-// Substantial macro magic
-//
-#define DPFT4( D, PN, FLAG, FREQ )                      \
-declare_ ## D ## _port( PN ## _port_trait::port_name,   \
-                        PN ## _port_trait::type_name,   \
-                        FLAG,                           \
-                        PN ## _port_trait::description, \
-                        FREQ )
-
-#define DPFT5( D, PN, FLAG, FREQ, DESCRIP )             \
-declare_ ## D ## _port( PN ## _port_trait::port_name,   \
-                        PN ## _port_trait::type_name,   \
-                        FLAG,                           \
-                        DESCRIP,                        \
-                        FREQ )
-
-#define DPUT3( D, PN, FLAG )         \
+#define declare_port_using_trait( D, PN, FLAG )         \
 declare_ ## D ## _port( PN ## _port_trait::port_name,   \
                         PN ## _port_trait::type_name,   \
                         FLAG,                           \
                         PN ## _port_trait::description)
 
-#define DPUT4( D, PN, FLAG, DESCRIP  )                  \
-declare_ ## D ## _port( PN ## _port_trait::port_name,   \
-                        PN ## _port_trait::type_name,   \
-                        FLAG,                           \
-                        DESCRIP)
-
-#define GET_MACRO(_1,_2,_3,_4,NAME, ...) NAME
-
-
 /**
  * \brief Declare sprokit input port using a port trait.
  *
@@ -270,15 +244,12 @@
   required.insert( flag_required );
 
   declare_input_port_using_trait( timestamp, required );
-  declare_input_port_using_trait( timestamp, required, "description" );
  \endcode
  *
  * \param PN Port trait name as defined by create_port_trait()
  * \param FLAG Port flags as defined by sprokit::process::port_flags_t
- * \param DESCRIP Optional port description
  */
-#define declare_input_port_using_trait(...) \
-  GET_MACRO(__VA_ARGS__, xxx, DPUT4, DPUT3)(input, __VA_ARGS__)
+#define declare_input_port_using_trait( PN, FLAG ) declare_port_using_trait( input, PN, FLAG )
 
 
 /**
@@ -291,62 +262,12 @@
   sprokit::process::port_flags_t optional;
 
   declare_output_port_using_trait( src_to_ref_homography, optional );
-  declare_output_port_using_trait( src_to_ref_homography, optional, "description" );
- \endcode
- *
- * \param PN Port trait name as defined by create_port_trait()
- * \param FLAG Port flags as defined by sprokit::process::port_flags_t
- * \param DESCRIP Optional port description
- */
-#define declare_output_port_using_trait(...) \
-  GET_MACRO(__VA_ARGS__, xxx, DPUT4, DPUT3)(output, __VA_ARGS__)
-
-
-/**
- * \brief Declare sprokit input port using a port trait.
- *
- * This macro is used to declare a sprokit input port with a frequency
- * to the pipeline framework based on the specified port trait.
- *
- \code
-  sprokit::process::port_flags_t required;
-  required.insert( flag_required );
-
-  declare_input_port_with_freq_using_trait( timestamp, required );
-  declare_input_port_with_freq_using_trait( timestamp, required, "description" );
  \endcode
  *
  * \param PN Port trait name as defined by create_port_trait()
  * \param FLAG Port flags as defined by sprokit::process::port_flags_t
- * \param FREQ Port frequency
- * \param DESCRIP Optional port description
  */
-#define declare_input_port_with_freq_using_trait(...) \
-  GET_MACRO(__VA_ARGS__, DPFT5, DPFT4, xxx)(input, __VA_ARGS__)
-
-
-/**
- * \brief Declare sprokit output port using port trait.
- *
- * This macro is used to declare a sprokit output with a frequency
- * specification port to the pipeline framework based on the specified
- * port trait.
- *
- \code
-  sprokit::process::port_flags_t optional;
-
-  declare_output_port_with_freq_using_trait( src_to_ref_homography, optional );
-  declare_output_port_with_freq_using_trait( src_to_ref_homography, optional, "description" );
- \endcode
- *
- * \param PN Port trait name as defined by create_port_trait()
- * \param FLAG Port flags as defined by sprokit::process::port_flags_t
- * \param FREQ Port frequency
- * \param DESCRIP Optional port description
- */
-#define declare_output_port_with_freq_using_trait(...) \
-  GET_MACRO(__VA_ARGS__, DPFT5, DPFT4, xxx)(output, __VA_ARGS__)
-
+#define declare_output_port_using_trait( PN, FLAG ) declare_port_using_trait( output, PN, FLAG )
 
 
 /**
diff --git a/vital/CMakeLists.txt b/vital/CMakeLists.txt
index 5ea55a2..944b317 100644
--- a/vital/CMakeLists.txt
+++ b/vital/CMakeLists.txt
@@ -180,7 +180,6 @@ set( vital_public_headers
   util/any_converter.h
   util/enumerate_matrix.h
   util/enumerate_matrix.h
-  util/string_format.h
 
   plugin_loader/plugin_factory.h
   plugin_loader/plugin_manager.h
diff --git a/vital/util/string_format.h b/vital/util/string_format.h
deleted file mode 100644
index 24a3dec..0000000
--- a/vital/util/string_format.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*ckwg +29
- * Copyright 2016 by Kitware, Inc.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- *  * Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- *
- *  * Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- *
- *  * Neither name of Kitware, Inc. nor the names of any contributors may be used
- *    to endorse or promote products derived from this software without specific
- *    prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <stdarg.h>  // For va_start, etc.
-#include <memory>    // For std::unique_ptr
-
-namespace kwiver {
-namespace vital {
-
-inline std::string
-string_format( const std::string fmt_str, ... )
-{
-  int final_n, n = ( (int)fmt_str.size() ) * 2; /* Reserve two times as much as the length of the fmt_str */
-  std::string str;
-  std::unique_ptr< char[] > formatted;
-  va_list ap;
-
-  while ( 1 )
-  {
-    formatted.reset( new char[n] );   /* Wrap the plain char array into the unique_ptr */
-    strcpy( &formatted[0], fmt_str.c_str() );
-    va_start( ap, fmt_str );
-    final_n = vsnprintf( &formatted[0], n, fmt_str.c_str(), ap );
-    va_end( ap );
-    if ( ( final_n < 0 ) || ( final_n >= n ) )
-    {
-      n += abs( final_n - n + 1 );
-    }
-    else
-    {
-      break;
-    }
-  }
-
-  return std::string( formatted.get() );
-}
-
-} } // end namespace


More information about the Viame mailing list