| 
      
      
      From: Tune K. <ka...@sl...> - 2004-12-05 04:27:07
       | 
| Dear PLplot experts,
I have been using PLplot through python/numarray to plot
astronomical intensity maps in false color for 2 years.
Ever since I wrote the first shaded contour plot, I have
been wishing to improve the contrasts and the dynamic
range of the Hue mapping.  I came up with an inproved
mapping using RGB (can also be in HSV) by making
the function non0linear.  This requires many reference
points (eg. 20 points).
Following  the manual description on plshades and
the python example xw11.py, I wrote the following
cmap1_init_3D.  But it doesn't work.
I would appreciate any guidance or suggestion.
T. Kamae, Stanford Linear Accelerator Center.
----------------------------------------------------------------------------
#   Color map 1 in RGB space for plot3D
#   (from plplot/examples/python/xw11.py)
    def cmap1_init_3D(self, gray):
        """Routine for defining a specific color map 1 in
        RGB space.  If gray is true, use basic grayscale
        variation from half-dark to light.  Otherwise use
        a parameteized mapping to R(z), G(z), and B(z) where
        z=[0,1].  i=0 corresponds to z=1.0, the brightest
        color for this implementation.
        """
        # Independent variable of control points.
        i = arange(0.0, 1.05, 0.05)
        if gray:
            # Red for control points.
            r = arange(241.0, 0.0, -12.0)
            # Green for control points.
            g = arange(241.0, 0.0, -12.0)
            # Blue for control points.
            b = arange(241.0, 0.0, -12.0)
        else:
            z=arange(1.0,1.05,0.05)
            z[20]=1.0
            # Red for control points.
            r = 113.9*sin(7.64*z**1.705+0.701)-916.1*(z+1.755)**1.862\
                +3587.9*z+2563.4
            rr = clip(r,0.0,255.0)
            # Green for control points.
            g = 70.0*sin(8.7*z**1.26-2.418)+151.7*z**0.5+70.0
            gg = clip(g,0.0,255.0)
            # Blue for control points.
            b = 194.5*z**2.88+99.72*exp(-77.24*(z-0.742)**2)\
                +45.40*z**0.089+10.0
            bb = clip(b,0.0,255.0)
        # Integer flag array is zero (no interpolation along far-side
        # of colour figure.)
        rev = array([0]+[1]*19+[0])
        # number of cmap1 colours is 256 in this case.
        # smaller the number of colours, the clearer the z contour
        #plscmap1n(256)
        plscmap1n(21)
        # Interpolate between control points to set up cmap1.
        plscmap1l(1, i, rr, gg, bb, rev)
 | 
| 
      
      
      From: Curtis C. <cu...@hi...> - 2004-12-05 05:37:16
       | 
| I think the PLplot colormap setting functions expect color ranges clamped
between [0,1].
Cheers,
Curtis
      * * * * * * * * * * * * * * * * * * * * * * * * * * * *
    *   Curtis S. Cooper, Graduate Research Assistant         *
   *    Lunar and Planetary Laboratory, University of Arizona  *
   *    http://www.lpl.arizona.edu/~curtis/		       *
   *    Kuiper Space Sciences, Rm. 318                         *
    *   1629 E. University Blvd.,                             *
     *  Tucson, AZ 85721        * * * * * * * * * * * * * * *
      * Wk: (520) 621-1471     *
       * * * * * * * * * * * *
On Sat, 4 Dec 2004, Tune Kamae wrote:
> Dear PLplot experts,
>
> I have been using PLplot through python/numarray to plot
> astronomical intensity maps in false color for 2 years.
> Ever since I wrote the first shaded contour plot, I have
> been wishing to improve the contrasts and the dynamic
> range of the Hue mapping.  I came up with an inproved
> mapping using RGB (can also be in HSV) by making
> the function non0linear.  This requires many reference
> points (eg. 20 points).
>
> Following  the manual description on plshades and
> the python example xw11.py, I wrote the following
> cmap1_init_3D.  But it doesn't work.
>
> I would appreciate any guidance or suggestion.
>
> T. Kamae, Stanford Linear Accelerator Center.
>
> ----------------------------------------------------------------------------
> #   Color map 1 in RGB space for plot3D
> #   (from plplot/examples/python/xw11.py)
>
>     def cmap1_init_3D(self, gray):
>         """Routine for defining a specific color map 1 in
>         RGB space.  If gray is true, use basic grayscale
>         variation from half-dark to light.  Otherwise use
>         a parameteized mapping to R(z), G(z), and B(z) where
>         z=[0,1].  i=0 corresponds to z=1.0, the brightest
>         color for this implementation.
>         """
>
>         # Independent variable of control points.
>         i = arange(0.0, 1.05, 0.05)
>         if gray:
>             # Red for control points.
>             r = arange(241.0, 0.0, -12.0)
>             # Green for control points.
>             g = arange(241.0, 0.0, -12.0)
>             # Blue for control points.
>             b = arange(241.0, 0.0, -12.0)
>         else:
>             z=arange(1.0,1.05,0.05)
>             z[20]=1.0
>             # Red for control points.
>             r = 113.9*sin(7.64*z**1.705+0.701)-916.1*(z+1.755)**1.862\
>                 +3587.9*z+2563.4
>             rr = clip(r,0.0,255.0)
>             # Green for control points.
>             g = 70.0*sin(8.7*z**1.26-2.418)+151.7*z**0.5+70.0
>             gg = clip(g,0.0,255.0)
>             # Blue for control points.
>             b = 194.5*z**2.88+99.72*exp(-77.24*(z-0.742)**2)\
>                 +45.40*z**0.089+10.0
>             bb = clip(b,0.0,255.0)
>
>         # Integer flag array is zero (no interpolation along far-side
>         # of colour figure.)
>         rev = array([0]+[1]*19+[0])
>         # number of cmap1 colours is 256 in this case.
>         # smaller the number of colours, the clearer the z contour
>         #plscmap1n(256)
>         plscmap1n(21)
>         # Interpolate between control points to set up cmap1.
>         plscmap1l(1, i, rr, gg, bb, rev)
>
>
>
>
> -------------------------------------------------------
> SF email is sponsored by - The IT Product Guide
> Read honest & candid reviews on hundreds of IT Products from real users.
> Discover which products truly live up to the hype. Start reading now.
> http://productguide.itmanagersjournal.com/
> _______________________________________________
> Plplot-general mailing list
> Plp...@li...
> https://lists.sourceforge.net/lists/listinfo/plplot-general
>
 | 
| 
      
      
      From: Alan W. I. <ir...@be...> - 2004-12-05 06:24:58
       | 
| On 2004-12-04 22:37-0700 Curtis Cooper wrote:
> I think the PLplot colormap setting functions expect color ranges clamped
> between [0,1].
>
> Cheers,
> Curtis
> On Sat, 4 Dec 2004, Tune Kamae wrote:
>
>> Dear PLplot experts,
>>
>>             z=arange(1.0,1.05,0.05)
                         ^^^
Tune, following up on what Curtis said, any number in the range 0 --> 1
including those end-points is okay.  But the above gives on my platform
the two-point
array
[ 1.    1.05]
which is clearly out of bounds.  Alternatively, for slightly different
floating-point rounding it would only give you [1.] which I don't think you
want.
I think you meant 0.0 for the lower limit which gives on my platform
[ 0.    0.05  0.1   0.15  0.2   0.25  0.3   0.35  0.4   0.45  0.5   0.55  0.6
          0.65  0.7   0.75  0.8   0.85  0.9   0.95  1.  ]
Which should be fine so long as some stray round-off error doesn't change that
1.0 to 1.0+eps or else stick on an extra 1.05 value at the upper limit.
The 1.0 to 0.0 change might make your logic work, but better yet, I would
keep the floating point logic to a minimum, that is, use integer arrays (to
make sure you get the correct number of values exactly), convert them to
floating point by multiplying by 0.05, then redefine the upper end (as you
do already) to make sure.
z = 0.05*arange(21)
z[20]=1.
HTH.
Alan
__________________________
Alan W. Irwin
email: ir...@be...
phone: 250-727-2902
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the Yorick front-end to PLplot (yplot.sf.net); the
Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
 | 
| 
      
      
      From: Tune K. <ka...@sl...> - 2004-12-05 07:11:40
       | 
| Curtis, Thank you for the prompt response. Yes, it is now working. Many thanks for your advice. Tune Kamae ----- Original Message ----- From: "Curtis Cooper" <cu...@hi...> To: "Tune Kamae" <ka...@sl...> Cc: <plp...@li...> Sent: Saturday, December 04, 2004 9:37 PM Subject: Re: [Plplot-general] RGB mapping for plsmap1 > I think the PLplot colormap setting functions expect color ranges clamped > between [0,1]. > > Cheers, > Curtis > > > > * * * * * * * * * * * * * * * * * * * * * * * * * * * * > * Curtis S. Cooper, Graduate Research Assistant * > * Lunar and Planetary Laboratory, University of Arizona * > * http://www.lpl.arizona.edu/~curtis/ * > * Kuiper Space Sciences, Rm. 318 * > * 1629 E. University Blvd., * > * Tucson, AZ 85721 * * * * * * * * * * * * * * * > * Wk: (520) 621-1471 * > * * * * * * * * * * * * > > On Sat, 4 Dec 2004, Tune Kamae wrote: > > > Dear PLplot experts, > > > > I have been using PLplot through python/numarray to plot > > astronomical intensity maps in false color for 2 years. > > Ever since I wrote the first shaded contour plot, I have > > been wishing to improve the contrasts and the dynamic > > range of the Hue mapping. I came up with an inproved > > mapping using RGB (can also be in HSV) by making > > the function non0linear. This requires many reference > > points (eg. 20 points). > > > > Following the manual description on plshades and > > the python example xw11.py, I wrote the following > > cmap1_init_3D. But it doesn't work. > > > > I would appreciate any guidance or suggestion. > > > > T. Kamae, Stanford Linear Accelerator Center. > > > > -------------------------------------------------------------------------- -- > > # Color map 1 in RGB space for plot3D > > # (from plplot/examples/python/xw11.py) > > > > def cmap1_init_3D(self, gray): > > """Routine for defining a specific color map 1 in > > RGB space. If gray is true, use basic grayscale > > variation from half-dark to light. Otherwise use > > a parameteized mapping to R(z), G(z), and B(z) where > > z=[0,1]. i=0 corresponds to z=1.0, the brightest > > color for this implementation. > > """ > > > > # Independent variable of control points. > > i = arange(0.0, 1.05, 0.05) > > if gray: > > # Red for control points. > > r = arange(241.0, 0.0, -12.0) > > # Green for control points. > > g = arange(241.0, 0.0, -12.0) > > # Blue for control points. > > b = arange(241.0, 0.0, -12.0) > > else: > > z=arange(1.0,1.05,0.05) > > z[20]=1.0 > > # Red for control points. > > r = 113.9*sin(7.64*z**1.705+0.701)-916.1*(z+1.755)**1.862\ > > +3587.9*z+2563.4 > > rr = clip(r,0.0,255.0) > > # Green for control points. > > g = 70.0*sin(8.7*z**1.26-2.418)+151.7*z**0.5+70.0 > > gg = clip(g,0.0,255.0) > > # Blue for control points. > > b = 194.5*z**2.88+99.72*exp(-77.24*(z-0.742)**2)\ > > +45.40*z**0.089+10.0 > > bb = clip(b,0.0,255.0) > > > > # Integer flag array is zero (no interpolation along far-side > > # of colour figure.) > > rev = array([0]+[1]*19+[0]) > > # number of cmap1 colours is 256 in this case. > > # smaller the number of colours, the clearer the z contour > > #plscmap1n(256) > > plscmap1n(21) > > # Interpolate between control points to set up cmap1. > > plscmap1l(1, i, rr, gg, bb, rev) > > > > > > > > > > ------------------------------------------------------- > > SF email is sponsored by - The IT Product Guide > > Read honest & candid reviews on hundreds of IT Products from real users. > > Discover which products truly live up to the hype. Start reading now. > > http://productguide.itmanagersjournal.com/ > > _______________________________________________ > > Plplot-general mailing list > > Plp...@li... > > https://lists.sourceforge.net/lists/listinfo/plplot-general > > > > |