/** Construct the panel's GUI. */
  private void initGUI() {
    PanelManager mainPanelManager = new PanelManager(this);
    PanelManager destPanelManager = new PanelManager("Destination");
    PanelManager regionPanelManager = new PanelManager("Process");

    ButtonGroup destinationGroup = new ButtonGroup();
    ButtonGroup imageVOIGroup = new ButtonGroup();

    newImageRadio = WidgetFactory.buildRadioButton("New image", true, destinationGroup);
    destPanelManager.add(newImageRadio);
    replaceImageRadio = WidgetFactory.buildRadioButton("Replace image", false, destinationGroup);
    destPanelManager.addOnNextLine(replaceImageRadio);

    // Only if the image is unlocked can it be replaced.
    if (srcImage.getLockStatus() == ModelStorageBase.UNLOCKED) {
      replaceImageRadio.setEnabled(true);
      if (ViewUserInterface.getReference().doForceInPlace()) {
        replaceImageRadio.setSelected(true);
        newImageRadio.setEnabled(false);
      }
    } else {
      replaceImageRadio.setEnabled(false);
    }

    wholeImageRadio = WidgetFactory.buildRadioButton("Whole image", true, imageVOIGroup);
    regionPanelManager.add(wholeImageRadio);
    voiRegionsRadio = WidgetFactory.buildRadioButton("VOI region(s)", false, imageVOIGroup);
    regionPanelManager.addOnNextLine(voiRegionsRadio);

    mainPanelManager.add(destPanelManager.getPanel());
    mainPanelManager.add(regionPanelManager.getPanel());
  }