[trunk] FolderReorgProposal task: fix jpip doxygen
[openjpeg.git] / applications / jpip / README
index 363ce1d00aaf0ab0f01e1a497b8bb29ae47db44d..5bcb01faa8d291b152e2f0cb93d9c3c61897236d 100644 (file)
@@ -1,5 +1,5 @@
 ========================================================================
-                    OpenJPIP software 1.0 ReadMe
+                    OpenJPIP software 2.1 ReadMe
 
 OpenJPEG:
 http://www.openjpeg.org
@@ -26,13 +26,14 @@ 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
+Version 2.1 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
+ - Access to JP2 files with their URL
 
 ----------
 2. License
@@ -46,10 +47,9 @@ Neither the author, nor the university accept any responsibility for any kind of
 3. System requirements
 ----------
 
- - 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)
+ - libcURL library
  - 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.
 <Optional>
  - Xerces2 java XML parser on the client for accessing embedded image metadata (http://xerces.apache.org/xerces2-j)
 
@@ -62,8 +62,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,10 +88,15 @@ 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)
+     Requst message "quitJPIP" can be changed in Makfile, modify -DQUIT_SIGNAL=\"quitJPIP\"
 
 Client:
  1. Launch image decoding server, and keep it alive as long as image viewers are open
-    % ./opj_dec_server
+    % ./opj_dec_server [portnumber (50000 by default)]
 
     You might prefer to implement this program from another directory since cache files are saved in the working directory.
     % mkdir cache
@@ -101,10 +104,15 @@ 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 [hostname] [portnumber] [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.)
+      - path/filename.jp2 is the server local path or URL of a JP2 file
+      - host name of opj_dec_server, localhost by default
+      - portnumber of opj_dec_server, 50000 by default
+      - 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 +122,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 +130,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 'cidx' 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)
 
 <Option>
  3. Embed metadata into JP2 file