@@ -74,9 +74,7 @@ def build_features(
7474 """Collect features that have pre-rendered images on disk."""
7575 features = []
7676 available = {
77- int (d .name )
78- for d in images_dpath .iterdir ()
79- if d .is_dir () and d .name .isdigit ()
77+ int (d .name ) for d in images_dpath .iterdir () if d .is_dir () and d .name .isdigit ()
8078 }
8179
8280 for row in var_df .iter_rows (named = True ):
@@ -275,15 +273,49 @@ def build_features(
275273
276274def main ():
277275 parser = argparse .ArgumentParser (description = __doc__ )
278- parser .add_argument ("--run" , type = pathlib .Path , required = True , help = "Run directory (e.g. /fs/ess/.../runs/um6hbn05)" )
279- parser .add_argument ("--shard" , type = str , required = True , help = "Shard ID (e.g. 8692dfa9)" )
280- parser .add_argument ("--dataset" , type = pathlib .Path , default = None , help = "Dataset root (segfolder with images/ dir, for label ordering)" )
281- parser .add_argument ("--split" , type = str , default = "validation" , help = "Dataset split name (default: validation)" )
282- parser .add_argument ("--hf-config" , type = str , default = "trait_segmentation" , help = "HuggingFace FishVista config name" )
283- parser .add_argument ("--hf-split" , type = str , default = "val" , help = "HuggingFace split name (default: val)" )
284- parser .add_argument ("--out" , type = pathlib .Path , default = pathlib .Path ("gallery.html" ), help = "Output HTML path" )
276+ parser .add_argument (
277+ "--run" ,
278+ type = pathlib .Path ,
279+ required = True ,
280+ help = "Run directory (e.g. /fs/ess/.../runs/um6hbn05)" ,
281+ )
282+ parser .add_argument (
283+ "--shard" , type = str , required = True , help = "Shard ID (e.g. 8692dfa9)"
284+ )
285+ parser .add_argument (
286+ "--dataset" ,
287+ type = pathlib .Path ,
288+ default = None ,
289+ help = "Dataset root (segfolder with images/ dir, for label ordering)" ,
290+ )
291+ parser .add_argument (
292+ "--split" ,
293+ type = str ,
294+ default = "validation" ,
295+ help = "Dataset split name (default: validation)" ,
296+ )
297+ parser .add_argument (
298+ "--hf-config" ,
299+ type = str ,
300+ default = "trait_segmentation" ,
301+ help = "HuggingFace FishVista config name" ,
302+ )
303+ parser .add_argument (
304+ "--hf-split" ,
305+ type = str ,
306+ default = "val" ,
307+ help = "HuggingFace split name (default: val)" ,
308+ )
309+ parser .add_argument (
310+ "--out" ,
311+ type = pathlib .Path ,
312+ default = pathlib .Path ("gallery.html" ),
313+ help = "Output HTML path" ,
314+ )
285315 parser .add_argument ("--quality" , type = int , default = 80 , help = "JPEG quality (0-100)" )
286- parser .add_argument ("--title" , type = str , default = "" , help = "Gallery subtitle/description" )
316+ parser .add_argument (
317+ "--title" , type = str , default = "" , help = "Gallery subtitle/description"
318+ )
287319 args = parser .parse_args ()
288320
289321 inference_dpath = args .run / "inference" / args .shard
@@ -313,7 +345,10 @@ def main():
313345 n_imgs = sum (len (f ["images" ]) for f in features )
314346 logger .info ("Total images: %d" , n_imgs )
315347
316- title = args .title or f"SAE run { args .run .name } , shard { args .shard } | { len (features )} features, { n_imgs } images"
348+ title = (
349+ args .title
350+ or f"SAE run { args .run .name } , shard { args .shard } | { len (features )} features, { n_imgs } images"
351+ )
317352 html = HTML_TEMPLATE .replace ("FEATURES_JSON" , json .dumps (features ))
318353 html = html .replace ("TITLE_PLACEHOLDER" , title )
319354 html = html .replace ("RUN_ID_PLACEHOLDER" , args .run .name )
0 commit comments