Re: What is the fastest way to threshold data?

*To*: mathgroup at smc.vnet.net*Subject*: [mg85922] Re: What is the fastest way to threshold data?*From*: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>*Date*: Thu, 28 Feb 2008 02:41:16 -0500 (EST)*Organization*: Uni Leipzig*References*: <fq3af1$fot$1@smc.vnet.net>*Reply-to*: kuska at informatik.uni-leipzig.de

Hi, With[{nn = 64}, data = Table[RandomReal[{-1, 1}], {nn}, {nn}, {nn}, {3}] ]; and thdata = Map[If[#[[3]] > 0, #, {1, 1, 0}*#] &, data, {3}]; may help Regards Jens Kevin J. McCann wrote: > I have some 3d data {{x1,y1,z1},{x2,y2,z2},...} and I would like to set > the z-values to zero if they fall below zero. More generally, I would > like to set z to a threshold value if it is at or below a threshold. > This seems as though it should be an easy enough thing to do, but the > only way I have figured out is to parse out the z-vector, do > > mask=((#<thresh&) /@ zdata)/.True->0/.False->1; > > then > zvector = zvector*mask; > > and rebuild the {x,y,z} data. > > Kevin