X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=applications%2Fjpip%2FREADME;h=7e9514695883139346df9fe9c23a4cabc36c6028;hb=b158c25dc3c9262aa29fed2ca9e45b2cf0019be2;hp=363ce1d00aaf0ab0f01e1a497b8bb29ae47db44d;hpb=dd51c25641d44c80f0735f6119d624c7b320813c;p=openjpeg.git diff --git a/applications/jpip/README b/applications/jpip/README index 363ce1d0..7e951469 100644 --- a/applications/jpip/README +++ b/applications/jpip/README @@ -1,5 +1,5 @@ ======================================================================== - OpenJPIP software 1.0 ReadMe + OpenJPIP software 2.0 ReadMe OpenJPEG: http://www.openjpeg.org @@ -26,10 +26,10 @@ OpenJPIP software is an implementation of JPEG 2000 Part9: Interactivity tools, ( For more info about JPIP, check the website: http://www.jpeg.org/jpeg2000/j2kpart9.html) The current implementation uses some results from the 2KAN project (http://www.2kan.org). -First Version 1.0 covers: - - JPT-stream (Tile based) media types +First Version 2.0 covers: + - JPT-stream (Tile) and JPP-stream (Precinct) media types - Session, channels, cache model managements - - JPIP over HTTP + - JPIP over HTTP, HTTP requests and TCP return - Indexing JPEG 2000 files - Embedding XML formatted metadata - Region Of Interest (ROI) requests @@ -49,7 +49,6 @@ Neither the author, nor the university accept any responsibility for any kind of - OpenJPEG library (currently assumes it is installed on the system => will not use the one built higher in the directory structure) - FastCGI development kit (C libraries) at server (http://www.fastcgi.com) - Java application launcher at client - - Kakadu software ( http://www.kakadusoftware.com). Currently required to encode jpeg 2000 images with tile-parts. This will be implemented soon in openjpeg, making this requirement obsolete. - Xerces2 java XML parser on the client for accessing embedded image metadata (http://xerces.apache.org/xerces2-j) @@ -62,8 +61,6 @@ We tested this software with a virtual server running on the same Linux machine A Makefile is available in the same directory as this README file. Simply type 'make' and it will build all the required C-executables. Concerning the java-based opj_viewer, simply type 'ant' in the corresponding directory (requires 'ant' utility of course) -CMake files ar planned to be included ASAP. - The documentation can be build this way (requires doxygen utility): cd doc doxygen Doxyfile @@ -90,6 +87,11 @@ Server: 2. Launch opj_server from the server terminal: % spawn-fcgi -f ./opj_server -p 3000 -n + + For shutting down JPIP server: + %GET http://hostname/myFCGI?quitJPIP + Notice, http://hostname/myFCGI is the HTTP server URI (myFCGI refers to opj_server by the server setting) + Request message "quitJPIP" can be changed in Makefile, modify -DQUIT_SIGNAL=\"quitJPIP\" Client: 1. Launch image decoding server, and keep it alive as long as image viewers are open @@ -101,10 +103,13 @@ Client: % ../opj_dec_server 2. Open image viewers (as many as needed) - % java -jar opj_viewer.jar http://hostname/myFCGI JP2_filename.jp2 + % java -jar opj_viewer.jar http://hostname/myFCGI path/filename.jp2 [stateless/session] [jptstream/jppstream] [tcp/udp] ( The arguments - http://hostname/myFCGI is the HTTP server URI (myFCGI refers to opj_server by the server setting) - - JP2_filename.jp2 is the name of a JP2 file available on the server.) + - JP2_filename.jp2 is the name of a JP2 file available on the server. + - request type stateless for no caching, session (default) for caching + - return media type, JPT-stream tile based stream, or JPP-stream (default) precinct based stream + - auxiliary return protocol, tcp or udp (udp is not implemented yet), if not given, return data is filled in http chunk Image viewer GUI instructions: Scale up request: Enlarge the window ROI request: Select a region by mouse click and drag, then click inside the red frame of the selected region @@ -114,7 +119,7 @@ Client: Open a new window presenting an aligned image with a locally stored image: Click button "Image Registration" (Under Construction) 3. Quit the image decoding server through the telnet, be sure all image viewers are closed - % telnet localhost 5000 + % telnet localhost 50000 quit ---------- @@ -122,12 +127,11 @@ Client: ---------- An example to encode a TIF image "copenhague1.tif" at resolution 4780x4050, 8bit/pixel, grayscale. + % ./image_to_j2k -i copenhague1.tif -o copenhague1.jp2 -p RPCL -c [64,64] -t 640,480 -jpip -TP R - 1. J2K encoding using Kakadu with an option which introduces the tile-part flag at each resolution level - % ./kdu_compress -i copenhague1.tif -o copenhague1.j2k Corder=RPCL ORGtparts=R Stiles={256,256} - - 2. JP2 encoding with embedding indexing data - % ./index_create copenhague1.j2k copenhague1.jp2 2 + options + -jpip : embed index table box into the output JP2 file (obligation for JPIP) + -TP R : partition a tile into tile parts of different resolution levels (obligation for JPT-stream)