public function process($filePath)
	{
		if ( ! is_string($filePath) && ! file_exists($filePath) && ! is_readable($filePath)) {
			$this->error = 'Failed to get image path';
			return;
		}

		$imageInfo = getimagesize($filePath);

		if ($imageInfo === false) {
			$this->error = 'Failed to get image information from path "' . $filePath . '"';
			return;
		}

		$this->width = $imageInfo[0];
		$this->height = $imageInfo[1];
		$this->type = $imageInfo[2];
		$this->bits = $imageInfo['bits'];
		$this->channels = (isset($imageInfo['channels']) ? $imageInfo['channels'] : null);
		$this->mime = $imageInfo['mime'];
		$this->path = $filePath;
		$this->size = filesize($filePath);
		$pathInfo = pathinfo($filePath);
		$this->name = $pathInfo['basename'];
		$this->directory = $pathInfo['dirname'];
		$this->extension = (isset($pathInfo['extension']) ? $pathInfo['extension'] : null);
	}