To work with weight maps in ICE, you connect to its properties and attributes located underneath the associated cluster. For example, to work with the weight values, you connect to "<object_name>.cls.<cluster_name>.<weightmap_name>.Weights".
You can read and write weights. When you get the value of a weight map's Weights at a location, the interpolated weight value is returned. The following subtree modulates particles' PointVelocity based on the weight at their EmitLocation.
If an ICE tree both gets and sets weights, for example, if it smooths weights, then there are special rules. If the ICE tree is above the Modeling region in the construction stack, paint strokes always go below it and are read by the tree. If the tree is in the Modeling region, then new paint strokes go above it but you can detach and re-attach the weight map in the tree (for example, by removing the reference and then putting it back) to place it above them.
Many native Softimage parameters, such as the Amplitude of a Push operator, use a weight map if one is connected, and use a simple numeric slider value if there is no weight map. You can achieve the same result with a First Valid node as shown in the following illustration of a portion of a compound. If a weight map is connected, its value is multiplied by Amplitude and passed downstream. If no weight map is connected, Amplitude is passed directly downstream.
To work with the color values of a texture map, get the texture map at a location. The following subtree sets particles' color based on the value of the texture map on the emitter at their EmitLocation.
Note that if you set texture UV coordinates in an ICE tree, the result is applied on top of any other operators that affect them. As a result, you cannot modify the texture UV coordinates in the texture editor, for instance — you need to freeze the texture UV coordinates (and the ICE tree) first.