add unit/integrted tests for dpc

If you put `scale=False` this value is never used, yet it is still required, this should be a kwarg and then have a block

```python
if scale and pixel_size is None:
    raise TypeError("some sensible error message")
```

Not strictly sure `TypeError` is the right one to use.