<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Dear all,</p>
<p>I want to propose the following RFC for the zoo-kernel:</p>
<p>Currently in zoo, geospatial images outputs of a WPS process can
be published as WMS through MapServer, which is very convenient
for visualization. An extremely useful optional functionality,
consisting in tagging the complex ProcessOutput whith
"msClassify=true" in the .zcfg process metadata, enables a
classes-oriented styling of the images (i.e. random color table).
This is achieved in producing a mapfile whith the appropriate
style. <br>
</p>
<p>While this absolutely rocks, I feel that there is still some room
for improvement of this functionality. In my opinion, I would be
really interesting to propose more than 2 styling ways (i.e. more
than just "msClassify=true" or "msClassifiy=false"). Let's not
reinvent the wheel for image vizualisation and styling: take QGIS
for instance, which is quite operational on this side. QGIS
proposes the essential methods to allows the vizualisation of any
kind of images. Personally, I use 99% of my time the following
ones:</p>
<p>1. linear histogram stretching between <i>min</i> and <i>max</i>
values of the image (e.g. radiometric indice image visualization)<br>
</p>
<p>2. linear histogram stretching between <i>mean-2*std</i> and <i>mean+2*std</i>
values of the image (e.g. natural colors image visualization)<br>
</p>
<p>3. random pseudocolor for monoband images (e.g. classification
image visualization)<br>
</p>
<p>4. custom pseudocolor for monoband images (e.g. thematic image
visualization)</p>
<p>It would be a great improvement to allow the using of those
styles (and more?) in the MapServer service, conditioned by the
WPS process .zcfg metadatas of the desired output image. I propose
therefore the following changes in metadatas for output images
styling in the .zcfg:</p>
<p>-remove <strike>msClassify[0..1]: boolean</strike></p>
<p>-add msStyle[0..1]: enum of {linear, random, custom} Description:
when "msStyle=linear", the image is styled using a histogram
stretch (all bands independently). When "msStyle=random", the
image is styled with a random color table (equivalent to the
obsolete "msClassify=true"). When "msStyle=custom", the image is
styled with a custom mapfile.<br>
</p>
<p>-add msStyleLinear[0..1]: enum of {minmax, meanstd, ...}
Description: those enums set the low and high values for the
linear histogram stretch.</p>
<p>-add msStyleCustom[0..1]: custom mapfile filename, e.g.
"myNiceMapfile.map"</p>
<p>Again, those are just suggestions, and are proposed as a basis
for discussions with the PSC and the zoo community. <br>
</p>
<p>I could implement this RFC in a dedicated feature branch.</p>
<p>I am waiting for your feedback, suggestions, opinions.<br>
</p>
<p>Regards, <br>
</p>
<p>RĂ©mi<br>
</p>
<br>
</body>
</html>