Hi Raj, why don't you get the LUT the first time and then just change the values on it.
Lut.setRGBPoints(rgbPoints) ? Seb On Thu, May 19, 2011 at 2:20 PM, Rajvikram Singh <[email protected]>wrote: > Hi Sebastien > > Here are the two javascript functions used for setting up the volume > visualization. The second one (loadXMLColorMap()) is where Jquery is used to > read the colormaps from the XML file. The variables Lut, Sof and > CurrColormapFile are global. CurrColormapFile is the XML file chosen by the > user from the UI : > > // > ********************************************************************************************** > // set displayProperties for a particular data to show as volume > // > ********************************************************************************************** > this.setupVolumeView = function (_data, _view) { > > // load and setup the LUT and SOF before changing > representation > this.loadXMLColorMap("./colormaps/" + CurrColormapFile); > > pv.SetDisplayProperties( { > proxy : _data, > view : _view, > SelectMapper : 'GPU', > Representation : 'Volume', > LookupTable : Lut, > ColorArrayName : 'ImageFile', > ScalarOpacityFunction : Sof > } ); > > } // end of setDisplayToVolume() > > > // > ********************************************************************************************** > // Load a Paraview color map from an XML file > // > ********************************************************************************************** > this.loadXMLColorMap = function(_file) { > > var colorSpace = 'None'; > var nanField; > var rgbPointsIdx = 0; > var sofPointsIdx = 0; > var i, x, o, r, g, b; > > var nanColor = new Array(); > var rgbPoints = new Array(); > var sofPoints = new Array(); > > jQuery.ajax({ > url : _file, > success : function(data) { > // get the color space > colorSpace = > jQuery(data).find("ColorMap").attr("space"); > > // get the values to create LUT and SOF > jQuery(data).find("Point").each(function() { > i = jQuery(this); > x = parseFloat(i.attr("x")); > o = parseFloat(i.attr("o")); > r = parseFloat(i.attr("r")); > g = parseFloat(i.attr("g")); > b = parseFloat(i.attr("b")); > > // Populate the rgbPoints array > rgbPoints[rgbPointsIdx++] = x; > rgbPoints[rgbPointsIdx++] = r; > rgbPoints[rgbPointsIdx++] = g; > rgbPoints[rgbPointsIdx++] = b; > > //Populate the sof Points array > sofPoints[sofPointsIdx++] = x; > sofPoints[sofPointsIdx++] = o; > > }); > > nanField = jQuery(data).find("NaN"); > nanColor[0] = parseFloat(nanField.attr("r")); > nanColor[1] = parseFloat(nanField.attr("g")); > nanColor[2] = parseFloat(nanField.attr("b")); > }, > > async : false > }); > > > > // Create the LUT and SOF needed for the transfer function > > Lut = pv.GetLookupTableForArray({arrayname : "ImageFile", > num_components : 1, HSVWrap : 0, NanColor : nanColor, RGBPoints : rgbPoints, > ColorSpace : colorSpace}); > > Sof = pv.CreatePiecewiseFunction( {Points: sofPoints}); > > > } // End of loadXMLColorMap() > > > > Thanks again. > - Raj > > > --- On *Thu, 19/5/11, Sebastien Jourdain > <[email protected]>*wrote: > > > From: Sebastien Jourdain <[email protected]> > > Subject: Re: [Paraview] ParaviewWeb : Repeated calls to > GetLookupTableForArray do not change the RGBpoints array > To: "Rajvikram Singh" <[email protected]> > Cc: "Utkarsh Ayachit" <[email protected]>, [email protected] > Date: Thursday, 19 May, 2011, 10:37 PM > > > Hi Raj, > > could you send the piece of code that update those RGBPoints values ? > > Thanks, > > Seb > > On Thu, May 19, 2011 at 12:58 PM, Rajvikram Singh > <[email protected]<http://mc/[email protected]> > > wrote: > > Hi Utkarsh > I'm using Jquery to load the .XML files. It works without any problems > the first time and RGBPoints extracted from the XML are applied correctly. > > The problem arises when the users selects a different XML file (different > colormap). When the GetLookupTableForArray is called again with the new set > of RGBPoints, the visualization does not look correct. It looks like the the > lookuptable maintained the earlier RGBPoints and merged the new set with the > old. > > I was wondering if this was a bug or if their was a way to reset the lut to > forget the old RGBPoints > > Thanks > Raj > > > --- On *Thu, 19/5/11, Utkarsh Ayachit > <[email protected]<http://mc/[email protected]> > >* wrote: > > > From: Utkarsh Ayachit > <[email protected]<http://mc/[email protected]> > > > Subject: Re: [Paraview] ParaviewWeb : Repeated calls to > GetLookupTableForArray do not change the RGBpoints array > To: "Rajvikram Singh" > <[email protected]<http://mc/[email protected]> > > > Cc: [email protected] <http://mc/[email protected]> > Date: Thursday, 19 May, 2011, 6:49 PM > > > How are you loading the default.xml? Do the best of my knowledge, ParaView > Python API has no call to setup LUTs from XML. > > Utkarsh > > On Wed, May 18, 2011 at 8:45 PM, Rajvikram Singh > <[email protected]<http://mc/[email protected]> > > wrote: > > Hi > I've a case where the users can load .xml files saved from the > Paraview's 'Edit Color Map' widget and apply the color maps (containing > R,G,B and Opacity values) to volume rendering. > > When I start the application a call is made is load a "default.xml" file > and then do a : > > Lut = pv.GetLookupTableForArray({arrayname : "ImageFile", num_components : > 1, HSVWrap : 0, NanColor : nanColor, RGBPoints : rgbPoints, ColorSpace : > colorSpace}); > > Sof = pv.CreatePiecewiseFunction( {Points: sofPoints}); > > The variables nanColor, rgbPoints, sofPoints etc are populated by the XML > file data. Then the Lookuptable is applied to the DisplayProperties for > volume rendering. This part works well. > > However when the user changes the .xml color map file from a drop down, the > same code is called again and this time it does something funny. It seems to > retain the previous RGBPoints information and adds the new color map to it. > So the two lookup tables look like they are merged. Is this expected ? > > Is there a way to reset the lookup table ? I did not see any obvious call > within simple.py or pwsimple.py. > > Thanks > Raj > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Follow this link to subscribe/unsubscribe: > http://www.paraview.org/mailman/listinfo/paraview > > > > _______________________________________________ > Powered by www.kitware.com > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Follow this link to subscribe/unsubscribe: > http://www.paraview.org/mailman/listinfo/paraview > > >
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://www.paraview.org/mailman/listinfo/paraview
