comparison image_learner.xml @ 20:64872c48a21f draft

planemo upload for repository https://github.com/goeckslab/gleam.git commit d4b122527a2402e43512f9b4bda00c7bff0ec9e9
author goeckslab
date Tue, 06 Jan 2026 15:35:11 +0000
parents c460abae83eb
children d5c582cf74bc
comparison
equal deleted inserted replaced
19:c460abae83eb 20:64872c48a21f
27 #if $input_csv 27 #if $input_csv
28 #set $sanitized_input_csv = re.sub('[^\w\-_\.]', '_', $input_csv.element_identifier.strip()) 28 #set $sanitized_input_csv = re.sub('[^\w\-_\.]', '_', $input_csv.element_identifier.strip())
29 ln -sf '$input_csv' "./${sanitized_input_csv}"; 29 ln -sf '$input_csv' "./${sanitized_input_csv}";
30 #end if 30 #end if
31 31
32 #set $selected_validation_metric = ""
32 #if $task_selection.task == "binary" 33 #if $task_selection.task == "binary"
33 #set $selected_validation_metric = $task_selection.validation_metric_binary 34 #set $selected_validation_metric = $task_selection.validation_metric_binary
34 #elif $task_selection.task == "classification" 35 #elif $task_selection.task == "classification"
35 #set $selected_validation_metric = $task_selection.validation_metric_multiclass 36 #set $selected_validation_metric = $task_selection.validation_metric_multiclass
36 #elif $task_selection.task == "regression" 37 #elif $task_selection.task == "regression"
37 #set $selected_validation_metric = $task_selection.validation_metric_regression 38 #set $selected_validation_metric = $task_selection.validation_metric_regression
38 #else 39 #else
39 #set $selected_validation_metric = None 40 #if $task_selection.validation_metric_auto
41 #set $selected_validation_metric = $task_selection.validation_metric_auto
42 #end if
40 #end if 43 #end if
41 44
42 python '$__tool_directory__/image_learner_cli.py' 45 python '$__tool_directory__/image_learner_cli.py'
43 --csv-file "./${sanitized_input_csv}" 46 --csv-file "./${sanitized_input_csv}"
44 --image-zip "$image_zip" 47 --image-zip "$image_zip"
78 --target-column "$column_override.target_column" 81 --target-column "$column_override.target_column"
79 #end if 82 #end if
80 #if $column_override.image_column 83 #if $column_override.image_column
81 --image-column "$column_override.image_column" 84 --image-column "$column_override.image_column"
82 #end if 85 #end if
86 #end if
87 #if $sample_id_column
88 --sample-id-column "$sample_id_column"
83 #end if 89 #end if
84 --image-resize "$image_resize" 90 --image-resize "$image_resize"
85 --random-seed "$random_seed" 91 --random-seed "$random_seed"
86 --output-dir "." && 92 --output-dir "." &&
87 93
101 <option value="binary">Binary Classification</option> 107 <option value="binary">Binary Classification</option>
102 <option value="classification">Multi-class Classification</option> 108 <option value="classification">Multi-class Classification</option>
103 <option value="regression">Regression</option> 109 <option value="regression">Regression</option>
104 </param> 110 </param>
105 <when value="binary"> 111 <when value="binary">
106 <param name="validation_metric_binary" type="select" optional="true" label="Validation metric (binary)" help="Metrics accepted by Ludwig for binary outputs."> 112 <param name="validation_metric_binary" type="select" optional="true" label="Validation metric (binary)" help="Metrics accepted by Ludwig 0.10.1 for binary outputs.">
107 <option value="roc_auc" selected="true">ROC-AUC</option> 113 <option value="" selected="true">Auto (use task default)</option>
114 <option value="roc_auc">ROC-AUC</option>
108 <option value="accuracy">Accuracy</option> 115 <option value="accuracy">Accuracy</option>
109 <option value="precision">Precision</option> 116 <option value="precision">Precision</option>
110 <option value="recall">Recall</option> 117 <option value="recall">Recall</option>
111 <option value="specificity">Specificity</option>
112 <option value="loss">Loss</option> 118 <option value="loss">Loss</option>
113 </param> 119 </param>
114 </when> 120 </when>
115 <when value="classification"> 121 <when value="classification">
116 <param name="validation_metric_multiclass" type="select" optional="true" label="Validation metric (multi-class)" help="Metrics accepted by Ludwig for multi-class outputs."> 122 <param name="validation_metric_multiclass" type="select" optional="true" label="Validation metric (multi-class)" help="Metrics accepted by Ludwig 0.10.1 for multi-class outputs.">
117 <option value="accuracy" selected="true">Accuracy</option> 123 <option value="" selected="true">Auto (use task default)</option>
118 <option value="balanced_accuracy">Balanced Accuracy</option> 124 <option value="accuracy">Accuracy</option>
119 <option value="hits_at_k">Hits at K (top-k)</option>
120 <option value="loss">Loss</option> 125 <option value="loss">Loss</option>
121 </param> 126 </param>
122 </when> 127 </when>
123 <when value="regression"> 128 <when value="regression">
124 <param name="validation_metric_regression" type="select" optional="true" label="Validation metric (regression)" help="Metrics accepted by Ludwig for regression outputs."> 129 <param name="validation_metric_regression" type="select" optional="true" label="Validation metric (regression)" help="Metrics accepted by Ludwig 0.10.1 for regression outputs.">
125 <option value="mean_squared_error" selected="true">Mean Squared Error</option> 130 <option value="" selected="true">Auto (use task default)</option>
131 <option value="mean_squared_error">Mean Squared Error</option>
126 <option value="mean_absolute_error">Mean Absolute Error</option> 132 <option value="mean_absolute_error">Mean Absolute Error</option>
127 <option value="root_mean_squared_error">Root Mean Squared Error</option> 133 <option value="root_mean_squared_error">Root Mean Squared Error</option>
128 <option value="root_mean_squared_percentage_error">Root Mean Squared Percentage Error</option> 134 <option value="root_mean_squared_percentage_error">Root Mean Squared Percentage Error</option>
129 <option value="loss">Loss</option> 135 <option value="loss">Loss</option>
130 </param> 136 </param>
131 </when> 137 </when>
132 <when value="auto"> 138 <when value="auto">
133 <!-- No validation metric selection; tool will infer task and metric. --> 139 <param name="validation_metric_auto" type="select" optional="true" label="Validation metric (auto)" help="Auto defers to the inferred task and picks the best default metric; use this only to override the choice.">
140 <option value="" selected="true"></option>
141 </param>
134 </when> 142 </when>
135 </conditional> 143 </conditional>
136 <conditional name="column_override"> 144 <conditional name="column_override">
137 <param name="override_columns" type="select" label="Overwrite label and/or image column names?" help="Select yes to specify custom column names instead of the defaults 'label' and 'image_path'."> 145 <param name="override_columns" type="select" label="Overwrite label and/or image column names?" help="Select yes to specify custom column names instead of the defaults 'label' and 'image_path'.">
138 <option value="false" selected="true">No</option> 146 <option value="false" selected="true">No</option>
139 <option value="true">Yes</option> 147 <option value="true">Yes</option>
140 </param> 148 </param>
141 <when value="true"> 149 <when value="true">
142 <param name="target_column" type="text" optional="true" label="Target/label column name" help="Overrides the default 'label' column name in the metadata CSV." /> 150 <param name="target_column" type="data_column" data_ref="input_csv" use_header_names="true" optional="true" label="Target/label column name" help="Overrides the default 'label' column name in the metadata CSV." />
143 <param name="image_column" type="text" optional="true" label="Image column name" help="Overrides the default 'image_path' column name in the metadata CSV." /> 151 <param name="image_column" type="data_column" data_ref="input_csv" use_header_names="true" optional="true" label="Image column name" help="Overrides the default 'image_path' column name in the metadata CSV." />
144 </when> 152 </when>
145 <when value="false"> 153 <when value="false">
146 <!-- No additional parameters --> 154 <!-- No additional parameters -->
147 </when> 155 </when>
148 </conditional> 156 </conditional>
157 <param name="sample_id_column" type="data_column" data_ref="input_csv" use_header_names="true" optional="true" label="Sample ID column (optional)" help="Optional column used to group samples during splitting to prevent data leakage (e.g., patient_id or slide_id). Only used when no split column is provided." />
149 <param name="model_name" type="select" optional="false" label="Select a model for your experiment" > 158 <param name="model_name" type="select" optional="false" label="Select a model for your experiment" >
150 159
151 <option value="resnet18">Resnet18</option> 160 <option value="resnet18">Resnet18</option>
152 <option value="resnet34">Resnet34</option> 161 <option value="resnet34">Resnet34</option>
153 <option value="resnet50">Resnet50</option> 162 <option value="resnet50">Resnet50</option>
562 <param name="image_zip" value="mnist_subset.zip" ftype="zip" /> 571 <param name="image_zip" value="mnist_subset.zip" ftype="zip" />
563 <param name="model_name" value="resnet18" /> 572 <param name="model_name" value="resnet18" />
564 <param name="advanced_settings|customize_defaults" value="true" /> 573 <param name="advanced_settings|customize_defaults" value="true" />
565 <param name="advanced_settings|threshold" value="0.6" /> 574 <param name="advanced_settings|threshold" value="0.6" />
566 <param name="task_selection|task" value="classification" /> 575 <param name="task_selection|task" value="classification" />
567 <param name="task_selection|validation_metric_multiclass" value="balanced_accuracy" /> 576 <param name="task_selection|validation_metric_multiclass" value="accuracy" />
568 <output name="output_report"> 577 <output name="output_report">
569 <assert_contents> 578 <assert_contents>
570 <has_text text="Config and Overall Performance Summary" /> 579 <has_text text="Config and Overall Performance Summary" />
571 <has_text text="Training and Validation Results" /> 580 <has_text text="Training and Validation Results" />
572 <has_text text="Test Results" /> 581 <has_text text="Test Results" />
589 Image Learner for Classification/regression: trains and evaluates a image classification/regression model. 598 Image Learner for Classification/regression: trains and evaluates a image classification/regression model.
590 It uses the metadata csv to find the image paths and labels. 599 It uses the metadata csv to find the image paths and labels.
591 The metadata csv should contain a column with the name 'image_path' and a column with the name 'label'. 600 The metadata csv should contain a column with the name 'image_path' and a column with the name 'label'.
592 Optionally, you can also add a column with the name 'split' to specify which split each row belongs to (train, val, test). 601 Optionally, you can also add a column with the name 'split' to specify which split each row belongs to (train, val, test).
593 If you do not provide a split column, the tool will automatically split the data into train, val, and test sets based on the proportions you specify or [0.7, 0.1, 0.2] by default. 602 If you do not provide a split column, the tool will automatically split the data into train, val, and test sets based on the proportions you specify or [0.7, 0.1, 0.2] by default.
603 You can optionally specify a sample ID column to keep related samples in the same split and prevent data leakage.
594 604
595 **Models Available** 605 **Models Available**
596 This tool supports a wide range of state-of-the-art image classification models including: 606 This tool supports a wide range of state-of-the-art image classification models including:
597 - Traditional CNNs (ResNet, EfficientNet, VGG, etc.) 607 - Traditional CNNs (ResNet, EfficientNet, VGG, etc.)
598 - Vision Transformers (ViT, Swin Transformer) 608 - Vision Transformers (ViT, Swin Transformer)