code: public function setImportantPart(array $importantPart = null)
  	{
  		if ($importantPart !== null)
  		{
  			if (!isset($importantPart['x']) || !isset($importantPart['y']) || !isset($importantPart['width']) || !isset($importantPart['height']))
  			{
  				throw new \InvalidArgumentException('Malformed array for setting the important part!');
  			}
  
  			$this->importantPart = array
  			(
  				'x' => max(0, min($this->fileObj->viewWidth - 1, (int) $importantPart['x'])),
  				'y' => max(0, min($this->fileObj->viewHeight - 1, (int) $importantPart['y'])),
  			);
  
  			$this->importantPart['width'] = max(1, min($this->fileObj->viewWidth - $this->importantPart['x'], (int) $importantPart['width']));
  			$this->importantPart['height'] = max(1, min($this->fileObj->viewHeight - $this->importantPart['y'], (int) $importantPart['height']));
  
  		}
  		else
  		{
  			$this->importantPart = null;
  		}
  
  		return $this;
  	}
docs: Set the important part settings
  
  @param array $importantPart The settings array
  
  @return $this The image object
  
  @throws \InvalidArgumentException If the settings array is malformed