MCPcopy Index your code
hub / github.com/vladmandic/sdnext / process_images

Function process_images

modules/processing.py:138–246  ·  view source on GitHub ↗
(p: StableDiffusionProcessing)

Source from the content-addressed store, hash-verified

136
137
138def process_images(p: StableDiffusionProcessing) -> Processed | None:
139 timer.process.reset()
140 debug(f'Process images: class={p.__class__.__name__} {vars(p)}')
141 if shared.sd_model is None:
142 log.warning('Aborted: op=process model not loaded')
143 return None
144 if not hasattr(shared.sd_model, 'sd_checkpoint_info'):
145 log.error('Aborted: op=process incomplete model')
146 return None
147 if p.abort:
148 log.debug('Processing: aborted')
149 return None
150 if p.scripts is not None and isinstance(p.scripts, scripts_manager.ScriptRunner):
151 p.scripts.before_process(p)
152 stored_opts = {}
153 for k, v in p.override_settings.copy().items():
154 if shared.opts.data.get(k, None) is None and shared.opts.data_labels.get(k, None) is None:
155 continue
156 orig = shared.opts.data.get(k, None) or shared.opts.data_labels[k].default
157 if orig == v or (type(orig) == str and os.path.splitext(orig)[0] == v):
158 p.override_settings.pop(k, None)
159 for k in p.override_settings.keys():
160 stored_opts[k] = shared.opts.data.get(k, None) or shared.opts.data_labels[k].default
161 results = None
162 try:
163 # if no checkpoint override or the override checkpoint can't be found, remove override entry and load opts checkpoint
164 if p.override_settings.get('sd_model_checkpoint', None) is not None and sd_checkpoint.checkpoint_aliases.get(p.override_settings.get('sd_model_checkpoint')) is None:
165 log.warning(f"Override not found: checkpoint={p.override_settings.get('sd_model_checkpoint', None)}")
166 p.override_settings.pop('sd_model_checkpoint', None)
167 sd_models.reload_model_weights()
168 if p.override_settings.get('sd_model_refiner', None) is not None and sd_checkpoint.checkpoint_aliases.get(p.override_settings.get('sd_model_refiner')) is None:
169 log.warning(f"Override not found: refiner={p.override_settings.get('sd_model_refiner', None)}")
170 p.override_settings.pop('sd_model_refiner', None)
171 sd_models.reload_model_weights()
172 if p.override_settings.get('sd_vae', None) is not None:
173 if p.override_settings.get('sd_vae', None) == 'TAESD':
174 p.vae_type = 'Tiny'
175 p.override_settings.pop('sd_vae', None)
176 if p.override_settings.get('sd_vae', None) == 'REPA-E':
177 p.vae_type = 'Repa'
178 p.override_settings.pop('sd_vae', None)
179 if p.override_settings.get('Hires upscaler', None) is not None:
180 p.enable_hr = True
181 if len(p.override_settings.keys()) > 0:
182 log.debug(f'Override: {p.override_settings}')
183 for k, v in p.override_settings.items():
184 setattr(shared.opts, k, v)
185 if k == 'sd_model_checkpoint':
186 sd_models.reload_model_weights()
187 if k == 'sd_vae':
188 sd_vae.reload_vae_weights()
189
190 shared.prompt_styles.apply_styles_to_extra(p)
191 shared.prompt_styles.extract_comments(p)
192 vae_scale_factor = sd_vae.get_vae_scale_factor()
193
194 if p.width is not None:
195 p.width = vae_scale_factor * int(p.width / vae_scale_factor)

Callers 6

post_text2imgMethod · 0.90
post_img2imgMethod · 0.90
runMethod · 0.90
runMethod · 0.90
expandMethod · 0.90
runMethod · 0.90

Calls 15

context_hypertile_vaeFunction · 0.90
context_hypertile_unetFunction · 0.90
process_images_innerFunction · 0.85
itemsMethod · 0.80
apply_styles_to_extraMethod · 0.80
extract_commentsMethod · 0.80
is_availableMethod · 0.80
debugFunction · 0.50
resetMethod · 0.45
before_processMethod · 0.45
copyMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected