IRQ provides a system for handling Boolean qualities (i.e. qualities that are either held or not held by each DATA pixel). From the point of view of an application, each defined quality is identified by a quality name rather than by a bit number. Information about these quality names is stored in an NDF extension, so that later applications can determine which pixels within the NDF hold a given quality (or combination of qualities).
Within IRQ, each defined quality name is usually associated with a bit in the QUALITY array, and this
bit is set if the corresponding DATA pixels are assigned the specified quality. A typical application
need know nothing about which QUALITY bit is associated with which quality name. For instance, if
every pixel in an NDF holds a certain quality (or alternatively, if no pixels hold the quality), then it is
not necessary to reserve a bit in the QUALITY array to represent the quality. Instead, a single Boolean
scalar value can be stored with the quality name in the NDF extension. This scalar is set to .TRUE.
if all
pixels hold the quality, and .FALSE.
if no pixels hold the quality. In this way, the number of defined
quality names can sometimes exceed the number of bits in the QUALITY component. The
handling of such situations is done within IRQ and is completely invisible to the calling
application.
IRQ provides the following facilities.