def _fits_array_writer(validator, _, instance, schema): if instance is None: return instance = np.asanyarray(instance) if not len(instance.shape): return if 'ndim' in schema: ndarray.validate_ndim(validator, schema['ndim'], instance, schema) if 'max_ndim' in schema: ndarray.validate_max_ndim(validator, schema['max_ndim'], instance, schema) if 'dtype' in schema: ndarray.validate_dtype(validator, schema['dtype'], instance, schema) hdu_name = _get_hdu_name(schema) _assert_non_primary_hdu(hdu_name) if instance.dtype.names is not None: hdu_type = fits.BinTableHDU else: hdu_type = fits.ImageHDU index = getattr(validator, 'sequence_index', None) hdu = _get_or_make_hdu(validator.hdulist, hdu_name, index=index, hdu_type=hdu_type) hdu.data = instance
def _fits_array_writer(validator, _, instance, schema): if instance is None: return instance = np.asanyarray(instance) if not len(instance.shape): return if 'ndim' in schema: ndarray.validate_ndim(validator, schema['ndim'], instance, schema) if 'max_ndim' in schema: ndarray.validate_max_ndim(validator, schema['max_ndim'], instance, schema) if 'dtype' in schema: ndarray.validate_dtype(validator, schema['dtype'], instance, schema) hdu_name = _get_hdu_name(schema) _assert_non_primary_hdu(hdu_name) index = getattr(validator, 'sequence_index', 0) hdu_type = _get_hdu_type(hdu_name, schema=schema, value=instance) hdu = _get_or_make_hdu(validator.hdulist, hdu_name, index=index, hdu_type=hdu_type) hdu.data = instance hdu.ver = index + 1
def _fits_array_writer(validator, _, instance, schema): if instance is None: return instance = np.asarray(instance) if not len(instance.shape): return if 'ndim' in schema: ndarray.validate_ndim(validator, schema['ndim'], instance, schema) if 'max_ndim' in schema: ndarray.validate_max_ndim(validator, schema['max_ndim'], instance, schema) if 'dtype' in schema: ndarray.validate_dtype(validator, schema['dtype'], instance, schema) hdu_name = _get_hdu_name(schema) _assert_non_primary_hdu(hdu_name) if instance.dtype.names is not None: hdu_type = fits.BinTableHDU else: hdu_type = fits.ImageHDU index = getattr(validator, 'sequence_index', None) hdu = _get_or_make_hdu(validator.hdulist, hdu_name, index=index, hdu_type=hdu_type) hdu.data = instance