xy_from_grid

artpop.space.xy_from_grid(num_stars, model, xy_dim, sample_dim=None, dx=0, dy=0, drop_outside=False, random_state=None)[source]

Sample xy positions from a discrete grid weighted by an arbitrary model.

Parameters
num_starsint

Number of stars (i.e., positions) to sample.

modelFittable2DModel

A two-dimensional astropy model or a callable object that takes x and y grid positions arguments: model(xx, yy).

xy_dimint or list-like

Dimensions of the mock image in xy coordinates. If int is given, will make the x and y dimensions the same.

sample_dimint or None, optional

Square dimension to sample within. This is useful if the mock image size is small compared to the scale of the model. To be useful, sample_dim should be larger than xy_dim.

dxfloat, optional

Shift from center of image in pixels in the x direction.

dyfloat, optional

Shift from center of image in pixels in the y direction.

drop_outsidebool, optional

If True, drop all stars that fall outside of the image. In this case, the returned ndarray will not be masked.

random_stateNone, int, list of ints, or RandomState

If None, return the RandomState singleton used by numpy.random. If int, return a new RandomState instance seeded with the int. If RandomState, return it. Otherwise raise ValueError.

Returns
xyMaskedArray or ndarray

Masked numpy array of xy positions. Positions that fall outside the mock image are masked. If drop_outside == True, then the stars that fall outside of the image will be dropped and the returned array will not be masked.