001/**
002 * Copyright (c) 2011, The University of Southampton and the individual contributors.
003 * All rights reserved.
004 *
005 * Redistribution and use in source and binary forms, with or without modification,
006 * are permitted provided that the following conditions are met:
007 *
008 *   *  Redistributions of source code must retain the above copyright notice,
009 *      this list of conditions and the following disclaimer.
010 *
011 *   *  Redistributions in binary form must reproduce the above copyright notice,
012 *      this list of conditions and the following disclaimer in the documentation
013 *      and/or other materials provided with the distribution.
014 *
015 *   *  Neither the name of the University of Southampton nor the names of its
016 *      contributors may be used to endorse or promote products derived from this
017 *      software without specific prior written permission.
018 *
019 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
020 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
021 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
022 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
023 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
024 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
025 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
026 * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
027 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
028 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
029 */
030package org.openimaj.demos.acmmm11.presentation;
031
032import java.io.IOException;
033import java.net.MalformedURLException;
034import java.util.ArrayList;
035import java.util.List;
036
037import javax.imageio.ImageIO;
038
039import org.openimaj.content.slideshow.PictureSlide;
040import org.openimaj.content.slideshow.Slide;
041import org.openimaj.content.slideshow.SlideshowApplication;
042import org.openimaj.demos.acmmm11.presentation.slides.TutorialSlide;
043
044/**
045 * Presentation for Dev8D 2012
046 * @author Sina Samangooei (ss@ecs.soton.ac.uk)
047 * @author Jonathon Hare (jsh2@ecs.soton.ac.uk)
048 *
049 */
050public class OpenIMAJ_Dev8D {
051        /**
052         * @return The slides
053         * @throws IOException
054         */
055        public static List<Slide> getSlides() throws IOException {
056                List<Slide> slides = new ArrayList<Slide>();
057                
058                slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.001.png"))); // title slide
059                slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.002.png"))); // What is OpenIMAJ
060//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.003.png"))); // What is ImageTerrier
061//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.005.png"))); // History of development
062//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.006.png"))); // All in java, isnt it slow?!
063//              slides.add(new SIFTTrackerSlide()); // live DoG/SIFT demo
064                slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.007.png"))); // Why another set of libraries?
065//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.008.png"))); // Designed to be EXTENSIBLE
066//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.009.png"))); // Alt SIFT: DoG/SIFT
067//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.010.png"))); // Alt SIFT: highlight dom ori
068//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.011.png"))); // Alt SIFT: replace with Null ori
069//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.012.png"))); // Alt SIFT: highlight SIFT feature
070//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.013.png"))); // Alt SIFT: replace with Irregular binning SIFT
071//              slides.add(new SIFTAltSIFTSlide()); // Normal vs ALT demo
072                slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.014.png"))); // Street View Cam
073                slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.015.png")));
074//              slides.add(new VideoSlide(
075//                              OpenIMAJ_Dev8D.class.getResource("kinect.m4v"), // video
076//                              OpenIMAJ_Dev8D.class.getResource("slide.016.png"), // background
077//                              TransformUtilities.translateMatrix(540, 550).times(TransformUtilities.scaleMatrix(1.0f, 1.0f)) // transform
078//                      )
079//              ); // Student projects + Kinect video
080                slides.add(new TutorialSlide()); // Student Tutorial demo
081//              slides.add(new PictureSlide(OpenIMAJ_Dev8D.class.getResource("slide.017.png"))); // Research applications
082//              slides.add(new VideoSlide(
083//                              OpenIMAJ_Dev8D.class.getResource("guessthebuilding.mov"), // video
084//                              OpenIMAJ_Dev8D.class.getResource("background.png") // background
085//                      )
086//              ); // Guess the Building demo
087//              slides.add(new VideoSlide(
088//                              OpenIMAJ_Dev8D.class.getResource("stockphotofinder.mov"), // video
089//                              OpenIMAJ_Dev8D.class.getResource("background.png") // background
090//                      )
091//              ); // Stock photo finder demo
092//              slides.add(new AudioOutroSlide(OpenIMAJ_Dev8D.class.getResource("slide.018.png"))); // Questions + Audio strem viewer
093
094                return slides;
095        }
096        
097        /** 
098         * Run the presentation
099         * @param args ignored
100         * @throws MalformedURLException
101         * @throws IOException
102         */
103        public static void main(String[] args) throws MalformedURLException, IOException {
104                new SlideshowApplication(getSlides(), 1024,768, ImageIO.read(OpenIMAJ_Dev8D.class.getResourceAsStream("background.png")));
105        }
106}