The crucial parts are:
If you click on the ‘eye’, you can get the modules to show you what parameters they write to:

And, as you can see, the grid location module ( which the system gives you to go with the spawn module ) writes to a UVW space:
What this is saying, is we get to know for each particle, where it is on the texture. Exactly what we want 
The we put the ‘sample texture’ module in, so we can read the texture. You’ll notice, I’ve made my own copy so I can get just one channel. That’s only because I couldn’t figure out how to connect the SampledColor from this module with later stuff. There probably is a way, but I don’t find the parameter setup in Niagara very intuitive.
I also had the same problem getting the UVW from grid locaton into just UV, so I used a bit of HLSL to do that:
All it’s saying is ‘use the UV values from the UVW here’. If you know how to do this in Niagara params, show me! 
So now I have the red channel ( how bright the texture is ) I can bin the particles that don’t fit my needs using the kill particles module:
The edit of grid location to get the red channel is also easy ( do it in a copy!
)
Tell me how it goes. Don’t spend too long fiddling. If you get stuck, I can put this in a small project for you to download.




