diff --git a/applications/jpip/opj_client/opj_viewer/build.xml b/applications/jpip/opj_client/opj_viewer/build.xml deleted file mode 100644 index 0608132a..00000000 --- a/applications/jpip/opj_client/opj_viewer/build.xml +++ /dev/null @@ -1,35 +0,0 @@ - - OpenJPIP client image viewer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/applications/jpip/opj_client/opj_viewer/dist/manifest.txt b/applications/jpip/opj_client/opj_viewer/dist/manifest.txt deleted file mode 100644 index 6bba2ab8..00000000 --- a/applications/jpip/opj_client/opj_viewer/dist/manifest.txt +++ /dev/null @@ -1,5 +0,0 @@ -Manifest-Version: 1.0 -Ant-Version: Apache Ant 1.7.0 -Created-By: Kaori Hagihara -Main-Class: ImageWindow -Class-Path: /usr/share/java/xerces-j2.jar diff --git a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110218.jar b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110218.jar deleted file mode 100755 index 1c5d72e2..00000000 Binary files a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer-20110218.jar and /dev/null differ diff --git a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar b/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar deleted file mode 120000 index 9e12f491..00000000 --- a/applications/jpip/opj_client/opj_viewer/dist/opj_viewer.jar +++ /dev/null @@ -1 +0,0 @@ -opj_viewer-20110218.jar \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/ImageManager.java b/applications/jpip/opj_client/opj_viewer/src/ImageManager.java deleted file mode 100644 index f3d01bef..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/ImageManager.java +++ /dev/null @@ -1,99 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.awt.Image; - -public class ImageManager extends JPIPHttpClient -{ - private PnmImage pnmimage; - - public ImageManager( String uri) - { - super( uri); - pnmimage = null; - } - - public int getOrigWidth(){ return pnmimage.width;} - public int getOrigHeight(){ return pnmimage.height;} - - public Image getImage( String j2kfilename, int reqfw, int reqfh) - { - System.err.println(); - - String refcid = ImgdecClient.query_cid( j2kfilename); - byte[] jptstream; - - if( refcid == null) - jptstream = super.requestViewWindow( j2kfilename, reqfw, reqfh, true); - else - jptstream = super.requestViewWindow( reqfw, reqfh, refcid, true); - - System.err.println( "decoding to PNM image"); - pnmimage = ImgdecClient.decode_jptstream( jptstream, j2kfilename, cid, fw, fh); - System.err.println( " done"); - - // System.out.println( "fw: " + fw + " fh: " + fh + "pnm w: "); - - return pnmimage.createROIImage( rx, ry, rw, rh); - } - - public Image getImage( int reqfw, int reqfh, int reqrx, int reqry, int reqrw, int reqrh) - { - System.err.println(); - - byte[] jptstream = super.requestViewWindow( reqfw, reqfh, reqrx, reqry, reqrw, reqrh); - - System.err.println( "decoding to PNM image"); - pnmimage = ImgdecClient.decode_jptstream( jptstream, cid, fw, fh); - System.err.println( " done"); - - return pnmimage.createROIImage( rx, ry, rw, rh); - } - - public byte[] getXML() - { - System.err.println(); - - byte []xmldata = null; - byte[] jptstream = super.requestXML(); - - if( jptstream != null){ - ImgdecClient.send_JPTstream( jptstream); - - xmldata = ImgdecClient.get_XMLstream( cid); - } - return xmldata; - } - public void closeChannel() - { - ImgdecClient.destroy_cid( cid); - super.closeChannel(); - } -} \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java b/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java deleted file mode 100644 index 9fab7f0a..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/ImageViewer.java +++ /dev/null @@ -1,267 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; -import java.awt.image.*; -import java.awt.geom.*; -import java.net.URL; -import javax.swing.border.*; -import java.util.*; -import java.io.*; - -public class ImageViewer extends JPanel -{ - private MML myMML; - private ResizeListener myRL; - private ImageManager imgmanager; - private int vw, vh; - private int iw, ih; - private int selected = 0; - private Image img; - - private String cmdline = new String(); - private boolean fullRefresh = false; - private Point offset = new Point(0,0); - private Rectangle rect = new Rectangle(); - private Rectangle roirect[] = null; - private String roiname[] = null; - - public ImageViewer( String j2kfilename, ImageManager manager) - { - String str; - - this.setSize( 200, 200); - Dimension asz = this.getSize(); - - vw = asz.width; - vh = asz.height; - - setBackground(Color.black); - myMML = new MML(this); - myRL = new ResizeListener(this); - - imgmanager = manager; - img = imgmanager.getImage( j2kfilename, vw, vh); - - addMouseListener(myMML); - addMouseMotionListener(myMML); - addComponentListener(myRL); - } - - public Image getImage() - { - return img; - } - - public void zoomIn() - { - roirect = null; - roiname = null; - - double scalex = vw/(double)rect.width; - double scaley = vh/(double)rect.height; - - int fw = (int)(imgmanager.getFw()*scalex); - int fh = (int)(imgmanager.getFh()*scaley); - int rx = (int)((imgmanager.getRx()+rect.x)*scalex); - int ry = (int)((imgmanager.getRy()+rect.y)*scaley); - - img = imgmanager.getImage( fw, fh, rx, ry, vw, vh); - - rect.x = rect.y = rect.width = rect.height = 0; - - selected = 0; - fullRefresh = true; - repaint(); - } - - public void enlarge() - { - roirect = null; - roiname = null; - - Dimension asz = this.getSize(); - - vw = asz.width; - vh = asz.height; - - double scalex = vw/(double)imgmanager.getRw(); - double scaley = vh/(double)imgmanager.getRh(); - - int fw = (int)(imgmanager.getFw()*scalex); - int fh = (int)(imgmanager.getFh()*scaley); - int rx = (int)(imgmanager.getRx()*scalex); - int ry = (int)(imgmanager.getRy()*scaley); - - img = imgmanager.getImage( fw, fh, rx, ry, vw, vh); - - fullRefresh = true; - repaint(); - } - - public void setSelected(int state) - { - roirect = null; - roiname = null; - - if (state != selected) { - - selected = state; - repaint(); - } - } - - public boolean isInsideRect(int x, int y) - { - return rect.contains(x - offset.x, y - offset.y); - } - - public void setRGeom(int x1, int y1, int x2, int y2) - { - rect.x = Math.min(x1,x2) - offset.x; - rect.y = Math.min(y1,y2) - offset.y; - rect.width = Math.abs(x2-x1); - rect.height = Math.abs(y2-y1); - } - - public void annotate( JP2XMLparser.ROIparams roi[]) - { - int numofroi = roi.length; - - roirect = new Rectangle [numofroi]; - roiname = new String [numofroi]; - - double scale_x = imgmanager.getFw()/(double)imgmanager.getOrigWidth(); - double scale_y = imgmanager.getFh()/(double)imgmanager.getOrigHeight(); - int rx = imgmanager.getRx(); - int ry = imgmanager.getRy(); - int rw = imgmanager.getRw(); - int rh = imgmanager.getRh(); - - for( int i=0; i 0) && (rect.height > 0)) - big.draw(rect); - - if( roirect != null){ - for( int i=0; i 0){ - uri = s[0]; - j2kfilename = s[1]; - } - else{ - System.out.println("Usage: java -jar opj_viewer.jar HTTP_server_URI imagefile.jp2"); - return; - } - ImageWindow frame = new ImageWindow( uri, j2kfilename); - - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); - - //Display the window. - frame.pack(); - frame.setSize(new Dimension(400,200)); - frame.setLocation( 0, 50); - frame.setVisible(true); - } -} \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java b/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java deleted file mode 100644 index 80e8f8ba..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/ImgdecClient.java +++ /dev/null @@ -1,268 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.io.*; -import java.net.*; - -public class ImgdecClient{ - - public static PnmImage decode_jptstream( byte[] jptstream, String cid, int fw, int fh) - { - if( jptstream != null) - send_JPTstream( jptstream); - return get_PNMstream( cid, fw, fh); - } - - public static PnmImage decode_jptstream( byte[] jptstream, String j2kfilename, String cid, int fw, int fh) - { - send_JPTstream( jptstream, j2kfilename, cid); - return get_PNMstream( cid, fw, fh); - } - - public static void send_JPTstream( byte[] jptstream) - { - try{ - Socket imgdecSocket = new Socket( "localhost", 5000); - DataOutputStream os = new DataOutputStream( imgdecSocket.getOutputStream()); - DataInputStream is = new DataInputStream( imgdecSocket.getInputStream()); - - System.err.println("Sending " + jptstream.length + "Data Bytes to decodingServer"); - - os.writeBytes("JPT-stream\n"); - os.writeBytes("version 1.0\n"); - os.writeBytes( jptstream.length + "\n"); - os.write( jptstream, 0, jptstream.length); - - byte signal = is.readByte(); - - if( signal == 0) - System.err.println(" failed"); - } catch (UnknownHostException e) { - System.err.println("Trying to connect to unknown host: " + e); - } catch (IOException e) { - System.err.println("IOException: " + e); - } - } - - public static void send_JPTstream( byte[] jptstream, String j2kfilename, String cid) - { - try{ - Socket imgdecSocket = new Socket( "localhost", 5000); - DataOutputStream os = new DataOutputStream( imgdecSocket.getOutputStream()); - DataInputStream is = new DataInputStream( imgdecSocket.getInputStream()); - int length = 0; - - if( jptstream != null) - length = jptstream.length; - - System.err.println("Sending " + length + "Data Bytes to decodingServer"); - - os.writeBytes("JPT-stream\n"); - os.writeBytes("version 1.0\n"); - os.writeBytes( j2kfilename + "\n"); - os.writeBytes( cid + "\n"); - os.writeBytes( length + "\n"); - os.write( jptstream, 0, length); - - byte signal = is.readByte(); - - if( signal == 0) - System.err.println(" failed"); - } catch (UnknownHostException e) { - System.err.println("Trying to connect to unknown host: " + e); - } catch (IOException e) { - System.err.println("IOException: " + e); - } - } - - public static PnmImage get_PNMstream( String cid, int fw, int fh) - { - PnmImage pnmstream = new PnmImage(); - try { - Socket imgdecSocket = new Socket( "localhost", 5000); - DataOutputStream os = new DataOutputStream( imgdecSocket.getOutputStream()); - DataInputStream is = new DataInputStream( imgdecSocket.getInputStream()); - byte []header = new byte[7]; - - os.writeBytes("PNM request\n"); - os.writeBytes( cid + "\n"); - os.writeBytes( fw + "\n"); - os.writeBytes( fh + "\n"); - - read_stream( is, header, 7); - - if( header[0] == 80){ - // P5: gray, P6: color - byte magicknum = header[1]; - if( magicknum == 5 || magicknum == 6){ - int length; - boolean iscolor = magicknum==6 ? true:false; - if( iscolor) - pnmstream.channel = 3; - else - pnmstream.channel = 1; - pnmstream.width = (header[2]&0xff)<<8 | (header[3]&0xff); - pnmstream.height = (header[4]&0xff)<<8 | (header[5]&0xff); - int maxval = header[6]&0xff; - - if( maxval == 255){ - length = pnmstream.width*pnmstream.height*pnmstream.channel; - pnmstream.data = new byte [ length]; - read_stream( is, pnmstream.data, length); - } - else - System.err.println("Error in get_PNMstream(), only 255 is accepted"); - } - else - System.err.println("Error in get_PNMstream(), wrong magick number" + header[1]); - } - else - System.err.println("Error in get_PNMstream(), Not starting with P"); - os.close(); - is.close(); - imgdecSocket.close(); - } catch (UnknownHostException e) { - System.err.println("Trying to connect to unknown host: " + e); - } catch (IOException e) { - System.err.println("IOException: " + e); - } - return pnmstream; - } - - public static byte [] get_XMLstream( String cid) - { - byte []xmldata = null; - - try{ - Socket imgdecSocket = new Socket( "localhost", 5000); - DataOutputStream os = new DataOutputStream( imgdecSocket.getOutputStream()); - DataInputStream is = new DataInputStream( imgdecSocket.getInputStream()); - byte []header = new byte[5]; - - os.writeBytes("XML request\n"); - os.writeBytes( cid + "\n"); - - read_stream( is, header, 5); - - if( header[0] == 88 && header[1] == 77 && header[2] == 76){ - int length = (header[3]&0xff)<<8 | (header[4]&0xff); - - xmldata = new byte[ length]; - read_stream( is, xmldata, length); - } - else - System.err.println("Error in get_XMLstream(), not starting with XML"); - } catch (UnknownHostException e) { - System.err.println("Trying to connect to unknown host: " + e); - } catch (IOException e) { - System.err.println("IOException: " + e); - } - return xmldata; - } - - public static String query_cid( String j2kfilename) - { - String cid = null; - - try{ - Socket imgdecSocket = new Socket( "localhost", 5000); - DataOutputStream os = new DataOutputStream( imgdecSocket.getOutputStream()); - DataInputStream is = new DataInputStream( imgdecSocket.getInputStream()); - byte []header = new byte[4]; - - os.writeBytes("CID request\n"); - os.writeBytes( j2kfilename + "\n"); - - read_stream( is, header, 4); - - if( header[0] == 67 && header[1] == 73 && header[2] == 68){ - int length = header[3]&0xff; - - if( length > 0){ - - byte []ciddata = new byte[ length]; - read_stream( is, ciddata, length); - cid = new String( ciddata); - } - } - else - System.err.println("Error in query_cid(), not starting with CID"); - } - catch (UnknownHostException e) { - System.err.println("Trying to connect to unknown host: " + e); - } catch (IOException e) { - System.err.println("IOException: " + e); - } - - return cid; - } - - public static void read_stream( DataInputStream is, byte []stream, int length) - { - int remlen = length; - int off = 0; - - try{ - while( remlen > 0){ - int redlen = is.read( stream, off, remlen); - - if( redlen == -1){ - System.err.println(" failed to read_stream()"); - break; - } - off += redlen; - remlen -= redlen; - } - } catch (IOException e) { - System.err.println("IOException: " + e); - } - } - - public static void destroy_cid( String cid) - { - try{ - Socket imgdecSocket = new Socket( "localhost", 5000); - DataOutputStream os = new DataOutputStream( imgdecSocket.getOutputStream()); - DataInputStream is = new DataInputStream( imgdecSocket.getInputStream()); - - os.writeBytes("CID destroy\n"); - os.writeBytes( cid + "\n"); - - byte signal = is.readByte(); - - if( signal == 0) - System.err.println(" failed"); - } catch (UnknownHostException e) { - System.err.println("Trying to connect to unknown host: " + e); - } catch (IOException e) { - System.err.println("IOException: " + e); - } - } -} diff --git a/applications/jpip/opj_client/opj_viewer/src/JP2XMLparser.java b/applications/jpip/opj_client/opj_viewer/src/JP2XMLparser.java deleted file mode 100644 index bec1d4db..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/JP2XMLparser.java +++ /dev/null @@ -1,122 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import org.w3c.dom.Attr; -import org.w3c.dom.Document; -import org.w3c.dom.Element; -import org.w3c.dom.NodeList; -import org.xml.sax.SAXParseException; -import org.xml.sax.ErrorHandler; -import org.apache.xerces.parsers.DOMParser; -import org.xml.sax.InputSource; -import java.io.*; -import java.lang.Integer; - -public class JP2XMLparser -{ - Document document; - - public static class ROIparams{ - public String name = null; - public int x = 0; - public int y = 0; - public int w = 0; - public int h = 0; - } - - public static class IRTparams{ - public String refimg = null; - public double []mat = { 0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0}; - } - - public JP2XMLparser( byte[] buf) - { - try{ - InputSource source = new InputSource( new ByteArrayInputStream( buf)); - DOMParser parser = new DOMParser(); - parser.setErrorHandler(new MyHandler()); - parser.parse( source); - document = parser.getDocument(); - } - catch (Exception e) { - e.printStackTrace(); - } - } - - public ROIparams [] getROIparams() - { - ROIparams roi[]; - NodeList elements = document.getElementsByTagName("roi"); - int elementCount = elements.getLength(); - - roi = new ROIparams [elementCount]; - - for( int i = 0; i < elementCount; i++) { - Element element = (Element)elements.item(i); - - roi[i] = new ROIparams(); - roi[i].name = element.getAttribute( "name"); - roi[i].x = Integer.parseInt( element.getAttribute( "x")) ; - roi[i].y = Integer.parseInt( element.getAttribute( "y")) ; - roi[i].w = Integer.parseInt( element.getAttribute( "w")) ; - roi[i].h = Integer.parseInt( element.getAttribute( "h")) ; - } - return roi; - } - - public IRTparams getIRTparams() - { - IRTparams irt = new IRTparams(); - NodeList elements = document.getElementsByTagName("irt"); - int elementCount = elements.getLength(); - - Element element = (Element)elements.item(0); - irt.refimg = element.getAttribute( "refimg"); - for( int i=1; i<=9; i++) - irt.mat[i-1] = Double.parseDouble( element.getAttribute("m" + i)); - - return irt; - } -} - -class MyHandler implements ErrorHandler { - public void warning(SAXParseException e) { - System.out.println("Warning: line" + e.getLineNumber()); - System.out.println(e.getMessage()); - } - public void error(SAXParseException e) { - System.out.println("Error: line" + e.getLineNumber()); - System.out.println(e.getMessage()); - } - public void fatalError(SAXParseException e) { - System.out.println("Critical error: line" + e.getLineNumber()); - System.out.println(e.getMessage()); - } -} \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java b/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java deleted file mode 100644 index c8f04714..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/JPIPHttpClient.java +++ /dev/null @@ -1,301 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.net.*; -import java.io.*; -import java.util.*; - - -public class JPIPHttpClient -{ - private String comURL; - protected int fw, fh; - protected int rx, ry; - protected int rw, rh; - protected String cid; - - public JPIPHttpClient( String URI) - { - comURL = URI + "?"; - fw = fh = -1; - rx = ry = -1; - rw = rh = -1; - cid = null; - } - - public int getFw(){ return fw;} - public int getFh(){ return fh;} - public int getRx(){ return rx;} - public int getRy(){ return ry;} - public int getRw(){ return rw;} - public int getRh(){ return rh;} - - public byte[] requestViewWindow( int reqfw, int reqfh) - { - if( cid != null) - return requestViewWindow( reqfw, reqfh, cid); - else - return null; - } - - public byte[] requestViewWindow( int reqfw, int reqfh, int reqrx, int reqry, int reqrw, int reqrh) - { - if( cid != null) - return requestViewWindow( reqfw, reqfh, reqrx, reqry, reqrw, reqrh, cid); - else - return null; - } - - public byte[] requestViewWindow( int reqfw, int reqfh, String reqcid) - { - return requestViewWindow( null, reqfw, reqfh, -1, -1, -1, -1, reqcid, false); - } - - public byte[] requestViewWindow( int reqfw, int reqfh, int reqrx, int reqry, int reqrw, int reqrh, String reqcid) - { - return requestViewWindow( null, reqfw, reqfh, reqrx, reqry, reqrw, reqrh, reqcid, false); - } - - public byte[] requestViewWindow( String target, int reqfw, int reqfh) - { - return requestViewWindow( target, reqfw, reqfh, -1, -1, -1, -1, null, false); - } - - public byte[] requestViewWindow( String target, int reqfw, int reqfh, boolean reqcnew) - { - if( cid == null) // 1 channel allocation only - return requestViewWindow( target, reqfw, reqfh, -1, -1, -1, -1, null, reqcnew); - else - return null; - } - - public byte[] requestViewWindow( String target, int reqfw, int reqfh, int reqrx, int reqry, int reqrw, int reqrh) - { - return requestViewWindow( target, reqfw, reqfh, reqrx, reqry, reqrw, reqrh, null, false); - } - - - public byte[] requestViewWindow( int reqfw, int reqfh, String reqcid, boolean reqcnew) - { - return requestViewWindow( null, reqfw, reqfh, -1, -1, -1, -1, reqcid, reqcnew); - } - - public byte[] requestViewWindow( String target, - int reqfw, int reqfh, - int reqrx, int reqry, - int reqrw, int reqrh, - String reqcid, boolean reqcnew) - { - String urlstring = const_urlstring( target, reqfw, reqfh, reqrx, reqry, reqrw, reqrh, reqcid, reqcnew); - return GETrequest( urlstring); - } - - public byte[] requestXML() - { - String urlstring = comURL; - - if( cid == null) - return null; - - urlstring = urlstring.concat( "cid=" + cid); - urlstring = urlstring.concat( "&metareq=[xml_]"); - - return GETrequest( urlstring); - } - - private byte[] GETrequest( String urlstring) - { - int buflen = 0; - URL url = null; - HttpURLConnection urlconn = null; - byte[] jptstream = null; - - try{ - url = new URL( urlstring); - - System.err.println("Requesting: " + url); - - urlconn = (HttpURLConnection)url.openConnection(); - urlconn.setRequestMethod("GET"); - urlconn.setInstanceFollowRedirects(false); - urlconn.connect(); - - Map> headers = urlconn.getHeaderFields(); - java.util.List hvaluelist; - - if(( hvaluelist = headers.get("JPIP-fsiz")) != null){ - String hvalueline = hvaluelist.get(0); - fw = Integer.valueOf( hvalueline.substring( 0, hvalueline.indexOf(','))).intValue(); - fh = Integer.valueOf( hvalueline.substring( hvalueline.indexOf(',')+1 )).intValue(); - - System.err.println("fw,fh: " + fw + "," + fh); - } - - if(( hvaluelist = headers.get("JPIP-roff")) != null){ - String hvalueline = hvaluelist.get(0); - rx = Integer.valueOf( hvalueline.substring( 0, hvalueline.indexOf(','))).intValue(); - ry = Integer.valueOf( hvalueline.substring( hvalueline.indexOf(',')+1 )).intValue(); - System.err.println("rx,ry: " + rx + "," + ry); - } - - if(( hvaluelist = headers.get("JPIP-rsiz")) != null){ - String hvalueline = hvaluelist.get(0); - rw = Integer.valueOf( hvalueline.substring( 0, hvalueline.indexOf(','))).intValue(); - rh = Integer.valueOf( hvalueline.substring( hvalueline.indexOf(',')+1 )).intValue(); - System.err.println("rw,rh: " + rw + "," + rh); - } - - if(( hvaluelist = headers.get("JPIP-cnew")) != null){ - String hvalueline = hvaluelist.get(0); - cid = hvalueline.substring( hvalueline.indexOf('=')+1, hvalueline.indexOf(',')); - System.err.println("cid: " + cid); - } - - InputStream input = urlconn.getInputStream(); - buflen = input.available(); - - if( buflen > 0){ - ByteArrayOutputStream tmpstream = new ByteArrayOutputStream(); - byte[] buf = new byte[ 1024]; - - System.err.println("reading jptstream..."); - - int redlen; - do{ - redlen = input.read( buf); - - if( redlen == -1) - break; - tmpstream.write( buf, 0, redlen); - }while( redlen > 0); - - buflen = tmpstream.size(); - - jptstream = tmpstream.toByteArray(); - - tmpstream = null; - - System.err.println("jptlen: " + buflen); - System.err.println(" succeeded"); - } - else{ - System.err.println("No new jptstream"); - } - input.close(); - } - catch ( MalformedURLException e){ - e.printStackTrace(); - } - catch ( ProtocolException e){ - e.printStackTrace(); - } - catch( ClassCastException e){ - e.printStackTrace(); - } - catch( NullPointerException e){ - e.printStackTrace(); - } - catch( UnknownServiceException e){ - e.printStackTrace(); - } - catch ( IOException e){ - e.printStackTrace(); - } - - urlconn.disconnect(); - - return jptstream; - } - - private String const_urlstring( String target, - int reqfw, int reqfh, - int reqrx, int reqry, - int reqrw, int reqrh, - String reqcid, boolean reqcnew) - { - String urlstring = comURL; - - if( target != null){ - if( !urlstring.endsWith("?")) - urlstring = urlstring.concat( "&"); - urlstring = urlstring.concat( "target=" + target); - } - if( reqfw != -1 && reqfh != -1){ - if( !urlstring.endsWith("?")) - urlstring = urlstring.concat( "&"); - urlstring = urlstring.concat( "fsiz=" + reqfw + "," + reqfh); - } - if( reqrx != -1 && reqry != -1){ - if( !urlstring.endsWith("?")) - urlstring = urlstring.concat( "&"); - urlstring = urlstring.concat( "roff=" + reqrx + "," + reqry); - } - if( reqrw != -1 && reqrh != -1){ - if( !urlstring.endsWith("?")) - urlstring = urlstring.concat( "&"); - urlstring = urlstring.concat( "rsiz=" + reqrw + "," + reqrh); - } - if( reqcid != null){ - if( !urlstring.endsWith("?")) - urlstring = urlstring.concat( "&"); - urlstring = urlstring.concat( "cid=" + reqcid); - } - if( reqcnew){ - if( !urlstring.endsWith("?")) - urlstring = urlstring.concat( "&"); - urlstring = urlstring.concat( "cnew=http"); - } - return urlstring; - } - - public void closeChannel() - { - if( cid == null) - return; - - try{ - URL url = new URL( comURL + "cclose=" + cid); - System.err.println( "closing cid: " + cid); - - HttpURLConnection urlconn = (HttpURLConnection)url.openConnection(); - urlconn.setRequestMethod("GET"); - urlconn.setInstanceFollowRedirects(false); - urlconn.connect(); - - Map headers = urlconn.getHeaderFields(); - - urlconn.disconnect(); - } catch ( MalformedURLException e){ - e.printStackTrace(); - } catch ( IOException e){ - e.printStackTrace(); - } - } -} diff --git a/applications/jpip/opj_client/opj_viewer/src/MML.java b/applications/jpip/opj_client/opj_viewer/src/MML.java deleted file mode 100644 index 983ff200..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/MML.java +++ /dev/null @@ -1,116 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.awt.event.*; - -class MML implements MouseMotionListener, MouseListener -{ - public void mouseExited(MouseEvent e) {} - public void mouseEntered(MouseEvent e) {} - public void mouseClicked(MouseEvent e) {} - - private ImageViewer iv; - private int x1, y1, x2, y2, zf, btn; - private boolean zoomrq; - - public MML(ImageViewer imageviewer) - { - x1 = y1 = -1; - iv = imageviewer; - zoomrq = false; - zf = 0; - } - - private boolean isInside(int x, int y) - { - x -= iv.getX(); - y -= iv.getY(); - return (x >= 0) && (x < iv.getWidth()) - && (y >= 0) && (y < iv.getHeight()); - } - - public void mousePressed(MouseEvent e) - { - btn = e.getButton(); - - if( iv.hasAnnotation()){ - if( iv.isInsideROIRect(e.getX(), e.getY())){ - iv.zoomIn(); - System.out.println("annotation click"); - return; - } - } - if (iv.isInsideRect(e.getX(), e.getY())) { - iv.setSelected(2); - iv.repaint(); - zoomrq = true; - } else { - iv.setRGeom(0, 0, 0, 0); - iv.setSelected(0); - iv.repaint(); - x1 = y1 = -1; - } - } - - public void mouseReleased(MouseEvent e) - { - if(e.getButton() == 1) { - if (zoomrq) { - iv.zoomIn(); - zoomrq = false; - } - } - } - - public void mouseMoved(MouseEvent e) - { - } - - public void mouseDragged(MouseEvent e) - { - if (btn == 1) { - x2 = e.getX(); - y2 = e.getY(); - - iv.setSelected(0); - zoomrq = false; - - if (isInside(x2, y2)) { - if (x1 == -1) { - x1 = x2; - y1 = y2; - } else { - iv.setRGeom(x1, y1, x2, y2); - iv.repaint(); - } - } - } - } -} diff --git a/applications/jpip/opj_client/opj_viewer/src/OptionPanel.java b/applications/jpip/opj_client/opj_viewer/src/OptionPanel.java deleted file mode 100644 index 822e2dd8..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/OptionPanel.java +++ /dev/null @@ -1,98 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; - -public class OptionPanel extends JPanel implements ActionListener -{ - private JButton roibutton; - private JButton imregbutton; - private ImageManager imgmanager; - private ImageViewer iv; - private JP2XMLparser xmlparser; - private JFrame regimwindow; - private RegimViewer regimgviewer; - - public OptionPanel( ImageManager manager, ImageViewer imgviewer) - { - this.setLayout(new BoxLayout( this, BoxLayout.Y_AXIS)); - - roibutton = new JButton("Region Of Interest"); - imregbutton = new JButton("Image Registration"); - - roibutton.setAlignmentX( Component.CENTER_ALIGNMENT); - imregbutton.setAlignmentX( Component.CENTER_ALIGNMENT); - - add( roibutton); - add( imregbutton); - roibutton.addActionListener(this); - imregbutton.addActionListener(this); - - imgmanager = manager; - iv = imgviewer; - xmlparser = null; - } - - public void actionPerformed(ActionEvent e) - { - if( xmlparser == null){ - byte []xmldata = imgmanager.getXML(); - if( xmldata != null) - xmlparser = new JP2XMLparser( xmldata); - } - if( e.getSource() == roibutton){ - if( xmlparser != null){ - JP2XMLparser.ROIparams roi[] = xmlparser.getROIparams(); - iv.annotate( roi); - } - } - if( e.getSource() == imregbutton){ - if( xmlparser != null){ - if( regimwindow == null){ - JP2XMLparser.IRTparams irt = xmlparser.getIRTparams(); - - regimgviewer = new RegimViewer( irt.refimg, irt.mat); - regimgviewer.setOpaque(false); - - regimwindow = new JFrame("Registered Image"); - regimwindow.getContentPane().add("Center", regimgviewer); - regimwindow.pack(); - regimwindow.setLocation( 500, 50); - regimwindow.setVisible(true); - } - regimgviewer.projection( iv.getImage(), (double)imgmanager.getRw()/(double)imgmanager.getOrigWidth()); - regimwindow.setSize( regimgviewer.get_imsize()); - regimwindow.show(); - } - } - } -} \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/PnmImage.java b/applications/jpip/opj_client/opj_viewer/src/PnmImage.java deleted file mode 100644 index 5fdfb608..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/PnmImage.java +++ /dev/null @@ -1,141 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.awt.*; -import java.awt.image.*; -import java.io.*; -import java.util.regex.*; - -public class PnmImage extends Component -{ - public byte[] data = null; - public int width = 0; - public int height = 0; - public int channel = 0; - - public Image createROIImage( int rx, int ry, int rw, int rh) - { - int []pix = new int[ rw*rh]; - - for( int i=0; i 0){ - try { - r = is.read(data, offset, bytes); - if( r == -1){ - System.err.println(" failed to read()"); - break; - } - offset += r; - bytes -= r; - } - catch (IOException e) { e.printStackTrace(); } - } - fis.close(); - } catch (IOException e) { e.printStackTrace(); } - } -} \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/RegimViewer.java b/applications/jpip/opj_client/opj_viewer/src/RegimViewer.java deleted file mode 100644 index 85beb533..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/RegimViewer.java +++ /dev/null @@ -1,115 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import javax.swing.*; -import java.awt.*; -import java.awt.image.*; -import java.awt.geom.AffineTransform; - -public class RegimViewer extends JPanel -{ - private PnmImage refpnm; - private int vw, vh; - private Image refimg; - private Image jpipImg; - private double[] affine_matrix; - private AffineTransform affine; - - public RegimViewer( String refname, double[] mat) - { - refpnm = new PnmImage(); - refpnm.openimage(refname.replaceFirst("jp2", "pgm")); // decoding not realized - affine_matrix = new double[6]; - - affine_matrix[0] = mat[0]; - affine_matrix[1] = mat[3]; - affine_matrix[2] = mat[1]; - affine_matrix[3] = mat[4]; - affine_matrix[4] = mat[2]; - affine_matrix[5] = mat[5]; - - affine = new AffineTransform(); - - for( int i=0; i<3; i++){ - for( int j=0; j<3; j++) - System.out.print( mat[i*3+j] + " "); - System.out.println(); - } - } - - public void projection( Image jpipimg, double scale) - { - jpipImg = jpipimg; - refimg = refpnm.createScaleImage( scale); - vw = refimg.getWidth(this); - vh = refimg.getHeight(this); - this.setSize( vw, vh); - - affine.setTransform( affine_matrix[0], affine_matrix[1], affine_matrix[2], affine_matrix[3], affine_matrix[4], affine_matrix[5]); - repaint(); - } - - public void paint(Graphics g) - { - int iw, ih; - BufferedImage bi, bi2; - Graphics2D big, big2; - Graphics2D g2 = (Graphics2D) g; - - g2.clearRect(0, 0, vw, vh); - - g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, - RenderingHints.VALUE_ANTIALIAS_ON); - g2.setRenderingHint(RenderingHints.KEY_RENDERING, - RenderingHints.VALUE_RENDER_QUALITY); - - iw = refimg.getWidth(this); - ih = refimg.getHeight(this); - - bi = new BufferedImage( iw, ih, BufferedImage.TYPE_INT_RGB); - big = bi.createGraphics(); - big.drawImage(refimg, 0, 0, this); - - g2.drawImage(bi, 0, 0, this); - - bi2 = new BufferedImage( jpipImg.getWidth(this), jpipImg.getHeight(this), BufferedImage.TYPE_INT_RGB); - big2 = bi2.createGraphics(); - big2.drawImage( jpipImg, 0, 0, this); - - g2.setTransform(affine); - - g2.drawImage(bi2, 0, 0, this); - } - - public Dimension get_imsize() - { - return (new Dimension( vw, vh)); - } -} \ No newline at end of file diff --git a/applications/jpip/opj_client/opj_viewer/src/ResizeListener.java b/applications/jpip/opj_client/opj_viewer/src/ResizeListener.java deleted file mode 100644 index 28688c1b..00000000 --- a/applications/jpip/opj_client/opj_viewer/src/ResizeListener.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * $Id$ - * - * Copyright (c) 2002-2011, Communications and Remote Sensing Laboratory, Universite catholique de Louvain (UCL), Belgium - * Copyright (c) 2002-2011, Professor Benoit Macq - * Copyright (c) 2010-2011, Kaori Hagihara - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 COPYRIGHT OWNER 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. - */ - -import java.awt.*; -import java.awt.event.*; -import javax.swing.*; - -class ResizeListener implements ComponentListener -{ - private ImageViewer iv; - private Dimension largest; - - public ResizeListener( ImageViewer _iv) - { - iv = _iv; - largest = iv.getSize(); - } - - public void componentHidden(ComponentEvent e) {} - - public void componentMoved(ComponentEvent e) {} - - public void componentResized(ComponentEvent e) { - Dimension cursize = iv.getSize(); - if( largest.getWidth() < cursize.getWidth() || largest.getHeight() < cursize.getHeight()){ - largest = cursize; - iv.enlarge(); - } - } - - public void componentShown(ComponentEvent e) {} -} \ No newline at end of file