From a quick skim, I think `grid_size` (and `grid` in `SparseNoise`) could be made into actual parameters. E.g.

```python
class DenseNoise(RandomGenerator):
    grid_size = param.Integer(default=10, bounds=(1,None), doc="""
    In a 10 x 10 grid this will be 10.""")
```

The documentation of `grid_size` is then with the parameter rather than in the class's docstring, the type and range of `grid_size` is checked automatically, and there's no need for the `__init__` method.