In describing how to create an NDF section in §,
there was an implicit assumption that the pixel-index bounds of the section
lay within the bounds of the NDF from which it was derived, and that the
section's dimensionality also matched that of the original NDF.
In fact, neither of these restrictions need apply.
First consider the case where the dimensionality of the initial NDF and the derived section are the same, but the new pixel-index bounds extend outside those of the original NDF. This would be the case if an NDF section with shape:
were to be created from an original NDF with shape:
In this case the section refers to a subset of the pixels along the first dimension but a super-set of the pixels along the second dimension. As a consequence, there are some pixels in the new section which do not exist in the original NDF.
When values are read from an array component of such a section, the NDF_ system will respond by padding the original NDF with bad pixels; i.e. by assigning the appropriate bad-pixel value to all the ``new'' pixels which did not exist in the original NDF. The value of the bad-pixel flag returned for the new section by the routine NDF_BAD would reflect the presence of these bad pixels.