The set of pixels which lie within the bounds of a base NDF and also within the bounds of a section derived from it is termed the transfer window for that section. This transfer window comes into play when new values are assigned to the section's pixels. Although new values may be assigned to any of these pixels, only those lying within the transfer window will have their values transferred back to the base NDF to cause a permanent change to the data structure. The transfer takes place when access to a mapped array component of a section is relinquished (e.g. by calling NDF_UNMAP), at which point all pixel values outside the transfer window are discarded.
This process is similar in concept to the ``viewport'' used in many graphics systems where, typically, a program can plot lines at any point, but only those lying within the viewport will actually appear on the screen (i.e. plotting done outside the viewport is ``clipped''). Using this analogy, an NDF section would correspond with the plotting space available to a program, the transfer window would correspond with the viewport, and the base NDF would correspond with the plotting screen.
Note that it is quite permissible for an NDF section to be derived from
another NDF section without any restriction on their relative pixel-index
In this case, the transfer windows of both sections will be combined, so
that no new section can access a larger region of the associated base NDF
than the section from which it is derived.
In extreme cases this could result in the transfer window for a section
becoming non-existent, in which case the section will no longer have any
contact with its base NDF, although it will still be a valid section.