Downloads a channel image and writes it to a `PNG` file on disk.

        Parameters
        ----------
        channel_name: str
            name of the channel
        plate_name: str
            name of the plate
        well_name: str
            name of the well
        well_pos_x: int
            zero-based x cooridinate of the acquisition site within the well
        well_pos_y: int
            zero-based y cooridinate of the acquisition site within the well
        cycle_index: str
            zero-based cycle index
        tpoint: int
            zero-based time point index
        zplane: int
            zero-based z-plane index
        correct: bool
            whether image should be corrected for illumination artifacts
        align: bool
            whether image should be aligned to the other cycles
        directory: str
            absolute path to the directory on disk where the file should be saved

        Note
        ----
        Image gets automatically aligned between cycles.

        See also
        --------
        :meth:`tmclient.api.TmClient.download_channel_image`

def download_channel_image_file(self, channel_name, plate_name,
            well_name, well_pos_y, well_pos_x, cycle_index,
            tpoint, zplane, correct, align, directory):
        '''Downloads a channel image and writes it to a `PNG` file on disk.

        Parameters
        ----------
        channel_name: str
            name of the channel
        plate_name: str
            name of the plate
        well_name: str
            name of the well
        well_pos_x: int
            zero-based x cooridinate of the acquisition site within the well
        well_pos_y: int
            zero-based y cooridinate of the acquisition site within the well
        cycle_index: str
            zero-based cycle index
        tpoint: int
            zero-based time point index
        zplane: int
            zero-based z-plane index
        correct: bool
            whether image should be corrected for illumination artifacts
        align: bool
            whether image should be aligned to the other cycles
        directory: str
            absolute path to the directory on disk where the file should be saved

        Note
        ----
        Image gets automatically aligned between cycles.

        See also
        --------
        :meth:`tmclient.api.TmClient.download_channel_image`
        '''
        response = self._download_channel_image(
            channel_name, plate_name, well_name, well_pos_y, well_pos_x,
            cycle_index=cycle_index, tpoint=tpoint, zplane=zplane,
            correct=correct, align = align
        )
        data = response.content
        filename = self._extract_filename_from_headers(response.headers)
        self._write_file(directory, os.path.basename(filename), data)