Skip to content

Commit bdec261

Browse files
authored
Rename instance diameter parameter for instance model training (#9194)
Renames the param in UI, frontend, backend, job parameters ### Steps to test: - With local worker, check that this parameter is correctly passed from UI (train model page) all the way to worker ### Issues: - fixes #9179 ------ - [x] Added changelog entry (create a `$PR_NUMBER.md` file in `unreleased_changes` or use `./tools/create-changelog-entry.py`) - [x] Considered [common edge cases](../blob/master/.github/common_edge_cases.md)
1 parent 1bf9007 commit bdec261

File tree

5 files changed

+19
-17
lines changed

5 files changed

+19
-17
lines changed

app/controllers/AiModelController.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ object RunNeuronModelTrainingParameters {
4343
case class RunInstanceModelTrainingParameters(trainingAnnotations: List[TrainingAnnotationSpecification],
4444
name: String,
4545
aiModelCategory: Option[AiModelCategory],
46-
maxDistanceNm: Option[Double],
46+
instanceDiameterNm: Option[Double],
4747
comment: Option[String],
4848
workflowYaml: Option[String])
4949

@@ -220,7 +220,7 @@ class AiModelController @Inject()(
220220
"organization_id" -> organization._id,
221221
"model_id" -> modelId,
222222
"custom_workflow_provided_by_user" -> request.body.workflowYaml,
223-
"max_distance_nm" -> request.body.maxDistanceNm
223+
"instance_diameter_nm" -> request.body.instanceDiameterNm
224224
)
225225
existingAiModelsCount <- aiModelDAO.countByNameAndOrganization(request.body.name,
226226
request.identity._organization)

frontend/javascripts/admin/api/jobs.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -375,7 +375,7 @@ type RunInstanceModelTrainingParameters = {
375375
trainingAnnotations: AiModelTrainingAnnotationSpecification[];
376376
name: string;
377377
aiModelCategory: APIAiModelCategory.EM_NUCLEI;
378-
maxDistanceNm: number;
378+
instanceDiameterNm: number;
379379
comment?: string;
380380
workflowYaml?: string;
381381
};

frontend/javascripts/viewer/view/ai_jobs/train_ai_model/ai_training_job_context.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ interface AiTrainingJobContextType {
4242
setModelName: (name: string) => void;
4343
comments: string;
4444
setComments: (comments: string) => void;
45-
maxDistanceNm: number;
46-
setMaxDistanceNm: (dist: number) => void;
45+
instanceDiameterNm: number;
46+
setInstanceDiameterNm: (dist: number) => void;
4747

4848
selectedAnnotations: AiTrainingAnnotationSelection[];
4949
setSelectedAnnotations: React.Dispatch<React.SetStateAction<AiTrainingAnnotationSelection[]>>;
@@ -70,7 +70,7 @@ export const AiTrainingJobContextProvider: React.FC<{ children: React.ReactNode
7070
[],
7171
);
7272
const [comments, setComments] = useState("");
73-
const [maxDistanceNm, setMaxDistanceNm] = useState(1000.0);
73+
const [instanceDiameterNm, setInstanceDiameterNm] = useState(1000.0);
7474

7575
const dispatch = useDispatch();
7676

@@ -166,7 +166,7 @@ export const AiTrainingJobContextProvider: React.FC<{ children: React.ReactNode
166166
if (selectedJobType === APIJobCommand.TRAIN_INSTANCE_MODEL) {
167167
await runInstanceModelTraining({
168168
aiModelCategory: APIAiModelCategory.EM_NUCLEI,
169-
maxDistanceNm: maxDistanceNm,
169+
instanceDiameterNm: instanceDiameterNm,
170170
...commonJobArgmuments,
171171
});
172172
} else {
@@ -181,7 +181,7 @@ export const AiTrainingJobContextProvider: React.FC<{ children: React.ReactNode
181181
console.error(error);
182182
Toast.error("Failed to start training.");
183183
}
184-
}, [modelName, selectedJobType, selectedAnnotations, comments, maxDistanceNm, dispatch]);
184+
}, [modelName, selectedJobType, selectedAnnotations, comments, instanceDiameterNm, dispatch]);
185185

186186
const value = {
187187
selectedJobType,
@@ -193,8 +193,8 @@ export const AiTrainingJobContextProvider: React.FC<{ children: React.ReactNode
193193
setModelName,
194194
comments,
195195
setComments,
196-
maxDistanceNm,
197-
setMaxDistanceNm,
196+
instanceDiameterNm,
197+
setInstanceDiameterNm,
198198
selectedAnnotations,
199199
setSelectedAnnotations,
200200
handleSelectionChange,

frontend/javascripts/viewer/view/ai_jobs/train_ai_model/ai_training_settings.tsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ export const AiTrainingSettings: React.FC = () => {
1414
comments,
1515
setComments,
1616
selectedTask,
17-
maxDistanceNm,
18-
setMaxDistanceNm,
17+
instanceDiameterNm,
18+
setInstanceDiameterNm,
1919
} = useAiTrainingJobContext();
2020

2121
const handleValuesChange: FormProps["onValuesChange"] = (changedValues) => {
@@ -25,15 +25,15 @@ export const AiTrainingSettings: React.FC = () => {
2525
if ("comments" in changedValues) {
2626
setComments(changedValues.comments);
2727
}
28-
if ("maxDistanceNm" in changedValues) {
29-
setMaxDistanceNm(changedValues.maxDistanceNm);
28+
if ("instanceDiameterNm" in changedValues) {
29+
setInstanceDiameterNm(changedValues.instanceDiameterNm);
3030
}
3131
};
3232

3333
const formFields = [
3434
{ name: ["modelName"], value: modelName },
3535
{ name: ["comments"], value: comments },
36-
{ name: ["maxDistanceNm"], value: maxDistanceNm },
36+
{ name: ["instanceDiameterNm"], value: instanceDiameterNm },
3737
];
3838

3939
return (
@@ -58,8 +58,8 @@ export const AiTrainingSettings: React.FC = () => {
5858
</Form.Item>
5959
{selectedTask?.jobType === APIJobCommand.TRAIN_INSTANCE_MODEL && (
6060
<Form.Item
61-
name="maxDistanceNm"
62-
label="Max Distance (nm)"
61+
name="instanceDiameterNm"
62+
label="Instance Diameter (nm)"
6363
rules={[{ required: true, message: "Please enter a positive number" }]}
6464
tooltip='The maximum cross-section length ("diameter") for each identified object in nm e.g. Nuclei: 1000nm, Vesicles: 80nm'
6565
>

unreleased_changes/9194.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
### Fixed
2+
- Fixed a bug in starting AI instance segmentation model training where the selected Max Distance (now named Instance Diameter) was not respected.

0 commit comments

Comments
 (0)