<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>