Searches across Google Image Search with the specified image query and
        downloads the specified count of images

        Arguments:
            imageQuery {[str]} -- [Image Search Query]

        Keyword Arguments:
            imageCount {[int]} -- [Count of images that need to be downloaded]
            destinationFolder {[str]} -- [Download Destination Folder]
            threadCount {[int]} -- [Count of Threads, to parallelize download of images]

def extract_images(self, imageQuery, imageCount=100, destinationFolder='./', threadCount=4):
        """
        Searches across Google Image Search with the specified image query and
        downloads the specified count of images

        Arguments:
            imageQuery {[str]} -- [Image Search Query]

        Keyword Arguments:
            imageCount {[int]} -- [Count of images that need to be downloaded]
            destinationFolder {[str]} -- [Download Destination Folder]
            threadCount {[int]} -- [Count of Threads, to parallelize download of images]

        """

        # Initialize the chrome driver
        self._initialize_chrome_driver()

        # Initialize the image download parameters
        self._imageQuery = imageQuery
        self._imageCount = imageCount
        self._destinationFolder = destinationFolder
        self._threadCount = threadCount

        self._get_image_urls()
        self._create_storage_folder()
        self._download_images()

        # Print the final message specifying the total count of images downloaded
        print(colored('\n\nImages Downloaded: ' +
                      str(self._imageCounter) + ' of ' + str(self._imageCount) + ' in ' +
                      format_timespan(self._downloadProgressBar.data()['total_seconds_elapsed']) + '\n', 'green'))

        # Terminate the chrome instance
        self._chromeDriver.close()
        self._reset_helper_variables()