def generate_panel(self, img):
plt.figure(figsize=(<NUM_LIT>,<NUM_LIT:6>))<EOL>ax = plt.gca()<EOL>fig = plt.gcf()<EOL>plt.subplot(<NUM_LIT>)<EOL>data_save = np.zeros_like(self.postcard)<EOL>self.roll_best = np.zeros((<NUM_LIT:4>,<NUM_LIT:2>))<EOL>for i in range(<NUM_LIT:4>):<EOL><INDENT>g = np.where(self.qs == i)[<NUM_LIT:0>]<EOL>wh = np.where(self.times[g] > <NUM_LIT>)<EOL>self.roll_best[i] = self.do_rolltest(g, wh)<EOL><DEDENT>self.do_photometry()<EOL>for i in range(<NUM_LIT:4>):<EOL><INDENT>g = np.where(self.qs == i)[<NUM_LIT:0>]<EOL>plt.errorbar(self.times[g], self.obs_flux[g], yerr=self.flux_uncert[i], fmt=fmt[i])<EOL><DEDENT>plt.xlabel('<STR_LIT>', fontsize=<NUM_LIT:20>)<EOL>plt.ylabel('<STR_LIT>', fontsize=<NUM_LIT:20>)<EOL>plt.subplot(<NUM_LIT>)<EOL>implot = plt.imshow(img, interpolation='<STR_LIT>', cmap='<STR_LIT>', vmin=<NUM_LIT>*<NUM_LIT>, vmax=<NUM_LIT>*<NUM_LIT>)<EOL>cid = fig.canvas.mpl_connect('<STR_LIT>', self.onclick)<EOL>plt.show(block=True)<EOL>
Creates the figure shown in ``adjust_aperture`` for visualization purposes. Called by other functions
and generally not called by the user directly.

Args: 
    img: The data frame to be passed through to be plotted. A cutout of the ``integrated_postcard``