Add vs Intersect Selection in GIMP Explained

In GNU Image Manipulation Program (GIMP), selections function as mathematical sets of pixel coordinates and opacity values. The fundamental difference between adding to a selection and intersecting with a selection lies in the underlying set theory and Boolean algebra applied to these pixels: adding represents a set union where areas are combined, whereas intersecting represents a set intersection where only the common, overlapping areas are preserved.

Selections as Mathematical Sets

To understand the difference, consider a GIMP canvas as a universal set of pixels, \(U\). A selection can be defined as a subset of pixels, where each pixel has a selection intensity value ranging from 0 (completely unselected) to 1 (fully selected), or 0 to 255 in 8-bit channel terms. When you have an existing selection (\(A\)) and create a new selection area (\(B\)), GIMP uses distinct operations to determine the resulting selection (\(R\)).

Adding to a Selection (Set Union)

Adding to a selection corresponds to the mathematical Union (\(A \cup B\)) and uses Boolean OR logic.

  • Binary Logic: A pixel is included in the new selection if it exists in set \(A\), set \(B\), or both. \[\text{Pixel} \in R \iff \text{Pixel} \in A \lor \text{Pixel} \in B\]
  • Intensity Calculation: For feathered or anti-aliased selections with fractional values, GIMP adds the intensity of the selections, typically clamping the result at the maximum value: \[R(x, y) = \min(1.0, A(x, y) + B(x, y))\]
  • Practical Result: The selected area expands or remains the same size. It never decreases.

Intersecting a Selection (Set Intersection)

Intersecting a selection corresponds to the mathematical Intersection (\(A \cap B\)) and uses Boolean AND logic.

  • Binary Logic: A pixel is included in the final selection only if it exists concurrently in both set \(A\) and set \(B\). \[\text{Pixel} \in R \iff \text{Pixel} \in A \land \text{Pixel} \in B\]
  • Intensity Calculation: For feathered selections, GIMP multiplies the normalized opacity values of both sets: \[R(x, y) = A(x, y) \times B(x, y)\] If a pixel has a value of 0 in either selection, the product is 0, completely deselecting that pixel.
  • Practical Result: The selected area shrinks or remains the same size. It can never grow beyond the boundaries of the smaller selection.

Key Mathematical Differences

Property Add to Selection Intersect with Selection
Set Operation Union (\(A \cup B\)) Intersection (\(A \cap B\))
Boolean Operator \(\text{OR} \; (\lor)\) \(\text{AND} \; (\land)\)
Arithmetic (Feathered) Addition clamped: \(\min(1, A + B)\) Multiplication: \(A \times B\)
Identity Element Empty set (\(\emptyset\)): \(A \cup \emptyset = A\) Universal set (\(U\)): \(A \cap U = A\)
Annihilator Universal set (\(U\)): \(A \cup U = U\) Empty set (\(\emptyset\)): \(A \cap \emptyset = \emptyset\)
Area Outcome \(\text{Area}(R) \ge \max(\text{Area}(A), \text{Area}(B))\) \(\text{Area}(R) \le \min(\text{Area}(A), \text{Area}(B))\)