The basic technique is standard. The data must not be modified by the programme, so a temporary data object is used for scratch storage if mean removal or tapering is requested. Arrays are mapped so there is no size limitation.