package be.cytomine.client.sample;
/*
* Copyright (c) 2009-2016. Authors: see NOTICE file.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import be.cytomine.client.Cytomine;
import be.cytomine.client.CytomineException;
import be.cytomine.client.models.JobParameter;
import be.cytomine.client.models.JobTemplate;
import be.cytomine.client.models.Software;
import org.apache.log4j.Logger;
public class SoftwareExample {
private static final Logger log = Logger.getLogger(SoftwareExample.class);
public static void addSoftwareTestArea(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("ComputeAnnotationStat", "computeAnnotationStatService", "DownloadFiles", "groovy -cp algo/computeAnnotationStats/Cytomine-Java-Client.jar:algo/computeAnnotationStats/jts-1.13.jar algo/computeAnnotationStats/computeAnnotationStats.groovy");
/**
* 0: type (=> cytomine) or standalone if execute with ide/java -jar => STRING
* 1: public key
* 2: private key
* 3: N value
* 4: T value
* 5: Working dir
* 6: Cytomine Host
* 7: Force download crop (even if already exist) => BOOLEAN
* 8: storeName (KYOTOSINGLEFILE)
* 9: index project (list: x,y,z)
* 10: search project (only one)
*/
cytomine.addSoftwareParameter("execType", "String", software.getId(), "cytomine", false, 100);
cytomine.addSoftwareParameter("annotation", "Number", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("term", "Number", software.getId(), "", true, 300);
} catch (CytomineException e) {
log.error(e);
}
}
public static void testAddJobTemplate(Cytomine cytomine) throws Exception {
JobTemplate jobTemplate = cytomine.addJobTemplate("ComputeAnnotationStat", 57L, 900532L);
JobParameter jobParameter1 = cytomine.addJobParameter(jobTemplate.getId(), 900556L, "20202");
JobParameter jobParameter2 = cytomine.addJobParameter(jobTemplate.getId(), 900562L, "456");
}
public static void testAddJobTemplate2(Cytomine cytomine) throws Exception {
JobTemplate jobTemplate = cytomine.addJobTemplate("ComputeAdenoBig", 57L, 900532L);
JobParameter jobParameter1 = cytomine.addJobParameter(jobTemplate.getId(), 900556L, "20202");
JobParameter jobParameter2 = cytomine.addJobParameter(jobTemplate.getId(), 900562L, "456");
}
public static void testAddJobTemplate3(Cytomine cytomine) throws Exception {
JobTemplate jobTemplate = cytomine.addJobTemplate("ComputeBigAnnot", 57L, 900532L);
//JobParameter jobParameter1 = cytomine.addJobParameter(jobTemplate.getId(), 900556L, "20202");
JobParameter jobParameter2 = cytomine.addJobParameter(jobTemplate.getId(), 900562L, "456");
}
public static void testAddJobTemplate4(Cytomine cytomine) throws Exception {
JobTemplate jobTemplate = cytomine.addJobTemplate("ComputeAdenno", 57L, 900532L);
JobParameter jobParameter1 = cytomine.addJobParameter(jobTemplate.getId(), 900556L, "20202");
//JobParameter jobParameter2 = cytomine.addJobParameter(jobTemplate.getId(), 900562L, "456");
}
public static void addSoftwareTest(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("SoftwareTest", "retrievalSuggestedTermJobService", "ValidateAnnotation", "");
/**
* 0: type (=> cytomine) or standalone if execute with ide/java -jar => STRING
* 1: public key
* 2: private key
* 3: N value
* 4: T value
* 5: Working dir
* 6: Cytomine Host
* 7: Force download crop (even if already exist) => BOOLEAN
* 8: storeName (KYOTOSINGLEFILE)
* 9: index project (list: x,y,z)
* 10: search project (only one)
*/
cytomine.addSoftwareParameter("execType", "String", software.getId(), "cytomine", false, 100);
cytomine.addSoftwareParameter("publicKey", "String", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("privateKey", "String", software.getId(), "", true, 300);
cytomine.addSoftwareParameter("N", "Number", software.getId(), "500", false, 400);
cytomine.addSoftwareParameter("T", "Number", software.getId(), "5", false, 500);
cytomine.addSoftwareParameter("workingDir", "String", software.getId(), "algo/retrievalSuggest/suggest/", true, 600);
cytomine.addSoftwareParameter("cytomineHost", "String", software.getId(), "$cytomineHost$", true, 700);
cytomine.addSoftwareParameter("forceDownloadCrop", "Boolean", software.getId(), "false", false, 800);
cytomine.addSoftwareParameter("storeName", "String", software.getId(), "KYOTOSINGLEFILE", false, 900);
cytomine.addSoftwareParameter("indexProject", "ListDomain", software.getId(), "$currentProject$", true, 1000, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("searchProject", "Domain", software.getId(), "$currentProject$", true, 1100, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareProject(software.getId(), 67L);
cytomine.addSoftwareProject(software.getId(), 716498L);
cytomine.addSoftwareProject(software.getId(), 75985L);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareProject(Cytomine cytomine) throws Exception {
cytomine.addSoftwareProject(485324L, 75985L);
}
public static void addSoftwareRetrieval(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("Retrieval-Suggest-Term", "retrievalSuggestedTermJobService", "ValidateAnnotation", "");
/**
* 0: type (=> cytomine) or standalone if execute with ide/java -jar => STRING
* 1: public key
* 2: private key
* 3: N value
* 4: T value
* 5: Working dir
* 6: Cytomine Host
* 7: Force download crop (even if already exist) => BOOLEAN
* 8: storeName (KYOTOSINGLEFILE)
* 9: index project (list: x,y,z)
* 10: search project (only one)
*/
cytomine.addSoftwareParameter("execType", "String", software.getId(), "cytomine", false, 100);
cytomine.addSoftwareParameter("publicKey", "String", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("privateKey", "String", software.getId(), "", true, 300);
cytomine.addSoftwareParameter("N", "Number", software.getId(), "500", false, 400);
cytomine.addSoftwareParameter("T", "Number", software.getId(), "5", false, 500);
cytomine.addSoftwareParameter("workingDir", "String", software.getId(), "algo/retrievalSuggest/suggest/", true, 600);
cytomine.addSoftwareParameter("cytomineHost", "String", software.getId(), "$cytomineHost$", true, 700);
cytomine.addSoftwareParameter("forceDownloadCrop", "Boolean", software.getId(), "false", false, 800);
cytomine.addSoftwareParameter("storeName", "String", software.getId(), "KYOTOSINGLEFILE", false, 900);
cytomine.addSoftwareParameter("indexProject", "ListDomain", software.getId(), "$currentProject$", true, 1000, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("searchProject", "Domain", software.getId(), "$currentProject$", true, 1100, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareProject(software.getId(), 67L);
cytomine.addSoftwareProject(software.getId(), 716498L);
cytomine.addSoftwareProject(software.getId(), 75985L);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareRetrievalEvolution(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("Retrieval-Evolution", "retrievalEvolutionJobService", "ValidateEvolution", "");
/**
* 0: type (=> cytomine) or standalone if execute with ide/java -jar => STRING
* 1: public key
* 2: private key
* 3: N value
* 4: T value
* 5: Working dir
* 6: Cytomine Host
* 7: Force download crop (even if already exist) => BOOLEAN
* 8: storeName (KYOTOSINGLEFILE)
* 9: index project (list: x,y,z)
* 10: search project (only one)
*/
cytomine.addSoftwareParameter("execType", "String", software.getId(), "cytomine", false, 100);
cytomine.addSoftwareParameter("publicKey", "String", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("privateKey", "String", software.getId(), "", true, 300);
cytomine.addSoftwareParameter("N", "Number", software.getId(), "500", false, 400);
cytomine.addSoftwareParameter("T", "Number", software.getId(), "5", false, 500);
cytomine.addSoftwareParameter("workingDir", "String", software.getId(), "algo/retrievalSuggest/suggest/", true, 600);
cytomine.addSoftwareParameter("cytomineHost", "String", software.getId(), "$cytomineHost$", true, 700);
cytomine.addSoftwareParameter("forceDownloadCrop", "Boolean", software.getId(), "false", false, 800);
cytomine.addSoftwareParameter("storeName", "String", software.getId(), "KYOTOSINGLEFILE", false, 900);
cytomine.addSoftwareParameter("indexProject", "ListDomain", software.getId(), "$currentProject$", true, 1000, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("searchProject", "Domain", software.getId(), "$currentProject$", true, 1100, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("dateStart", "Date", software.getId(), "$currentProjectCreationDate$", true, 1200);
cytomine.addSoftwareParameter("dateStop", "Date", software.getId(), "$currentDate$", true, 1300);
cytomine.addSoftwareParameter("dateIncr", "String", software.getId(), "MONTH+1", true, 1400);
cytomine.addSoftwareProject(software.getId(), 67L);
cytomine.addSoftwareProject(software.getId(), 716498L);
cytomine.addSoftwareProject(software.getId(), 75985L);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareComputeAreaOld(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("ComputeTermAreaOld", "computeTermAreaJobService", "DownloadFiles", "");
cytomine.addSoftwareParameter("cytomineHost", "String", software.getId(), "$cytomineHost$", true, 100);
cytomine.addSoftwareParameter("publicKey", "String", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("privateKey", "String", software.getId(), "", true, 300);
cytomine.addSoftwareParameter("Terms", "ListDomain", software.getId(), "", true, 400, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("Images", "ListDomain", software.getId(), "", true, 500, "/api/project/$currentProject$/imageinstance.json", "filename", "filename");
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareComputeTermArea(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("ComputeTermArea", "createRabbitJobService", "DownloadFiles",
"groovy -cp lib/jars/Cytomine-client-java.jar algo/computeTermArea.groovy ");
cytomine.addSoftwareParameter("host", "String", software.getId(), "$cytomineHost$", true, 100);
cytomine.addSoftwareParameter("publicKey", "String", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("privateKey", "String", software.getId(), "", true, 300);
cytomine.addSoftwareParameter("terms", "ListDomain", software.getId(), "", true, 400, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("images", "ListDomain", software.getId(), "", true, 500, "/api/project/$currentProject$/imageinstance.json", "instanceFilename", "instanceFilename");
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareComputeAnnotationStats(Cytomine cytomine) throws Exception {
try {
Software software = cytomine.addSoftware("ComputeAnnotationStats", "createRabbitJobService", "DownloadFiles",
"groovy -cp algo/computeAnnotationStats/Cytomine-Java-Client.jar:algo/computeAnnotationStats/jts-1.13.jar algo/computeAnnotationStats/computeAnnotationStats.groovy");
cytomine.addSoftwareParameter("host", "String", software.getId(), "$cytomineHost$", true, 100);
cytomine.addSoftwareParameter("publicKey", "String", software.getId(), "", true, 200);
cytomine.addSoftwareParameter("privateKey", "String", software.getId(), "", true, 300);
cytomine.addSoftwareParameter("annotation", "Domain", software.getId(), "", true, 400);
cytomine.addSoftwareParameter("term", "Domain", software.getId(), "", true, 500, "/api/project/$currentProject$/term.json", "name", "name");
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareTissueDetect(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("TissueDetect", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/detect_sample/detect_sample.py --cytomine_host $host --cytomine_public_key $publicKey --cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_working_path /software_router/algo/detect_sample/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_predict_term $cytomine_predict_term " +
"--cytomine_max_image_size $cytomine_max_image_size " +
"--cytomine_erode_iterations $cytomine_erode_iterations " +
"--cytomine_dilate_iterations $cytomine_dilate_iterations " +
"--cytomine_athreshold_blocksize $cytomine_athreshold_blocksize " +
"--cytomine_athreshold_constant $cytomine_athreshold_constant " +
"--verbose true ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 400, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 500, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_predict_term", "Domain", software.getId(), "", true, 600, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_max_image_size", "Number", software.getId(), "2048", true, 700);
cytomine.addSoftwareParameter("cytomine_erode_iterations", "Number", software.getId(), "3", true, 800);
cytomine.addSoftwareParameter("cytomine_dilate_iterations", "Number", software.getId(), "3", true, 900);
cytomine.addSoftwareParameter("cytomine_athreshold_blocksize", "Number", software.getId(), "951", true, 1000);
cytomine.addSoftwareParameter("cytomine_athreshold_constant", "Number", software.getId(), "5", true, 1100);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareTissueSegmentBuilder(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("TissueSegment_Model_Builder", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/segmentation_model_builder/add_and_run_job.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_working_path algo/segmentation_model_builder/ " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_annotation_projects $cytomine_annotation_projects " +
"-z $cytomine_zoom_level " +
"--cytomine_predict_terms $cytomine_predict_terms " +
"--cytomine_excluded_terms $cytomine_excluded_terms " +
"--pyxit_target_width $pyxit_target_width " +
"--pyxit_target_height $pyxit_target_height " +
"--pyxit_colorspace $pyxit_colorspace " +
"--pyxit_n_jobs $pyxit_n_jobs " +
"--pyxit_save_to $pyxit_save_to " +
"--pyxit_transpose $pyxit_transpose " +
"--pyxit_fixed_size $pyxit_fixed_size " +
"--pyxit_interpolation $pyxit_interpolation " +
"--forest_n_estimators $forest_n_estimators " +
"--forest_max_features $forest_max_features " +
"--forest_min_samples_split $forest_min_samples_split " +
"--pyxit_n_subwindows $pyxit_n_subwindows " +
"--cytomine_reviewed $cytomine_reviewed " +
"--verbose True");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 400, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("pyxit_save_to", "String", software.getId(), "algo/segmentation_model_builder/logs/segmentation_tumor_model.pkl", true, 1600, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_annotation_projects", "ListDomain", software.getId(), "", true, 600, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_zoom_level", "Number", software.getId(), "0", true, 700);
cytomine.addSoftwareParameter("cytomine_predict_terms", "ListDomain", software.getId(), "", true, 800, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_excluded_terms", "ListDomain", software.getId(), "", true, 900, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_reviewed", "Boolean", software.getId(), "false", true, 925);
cytomine.addSoftwareParameter("pyxit_n_subwindows", "Number", software.getId(), "100", true, 950);
cytomine.addSoftwareParameter("pyxit_target_width", "Number", software.getId(), "24", true, 1000);
cytomine.addSoftwareParameter("pyxit_target_height", "Number", software.getId(), "24", true, 1100);
cytomine.addSoftwareParameter("pyxit_colorspace", "Number", software.getId(), "2", true, 1200);
cytomine.addSoftwareParameter("pyxit_n_jobs", "Number", software.getId(), "10", true, 1300);
cytomine.addSoftwareParameter("pyxit_transpose", "Boolean", software.getId(), "false", false, 1500);
cytomine.addSoftwareParameter("pyxit_fixed_size", "Boolean", software.getId(), "true", false, 1600);
cytomine.addSoftwareParameter("pyxit_interpolation", "Number", software.getId(), "1", false, 1700);
cytomine.addSoftwareParameter("forest_n_estimators", "Number", software.getId(), "10", true, 1800);
cytomine.addSoftwareParameter("forest_max_features", "Number", software.getId(), "28", true, 1900);
cytomine.addSoftwareParameter("forest_min_samples_split", "Number", software.getId(), "1", true, 2000);
} catch (CytomineException e) {
log.error(e);
}
}
/*public static void addSoftwareEasyTissueSegmentBuilder(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Easy_3Pyxit_SegmentationModel_Builder_4", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/segmentation_model_builder/add_and_run_job.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_working_path algo/segmentation_model_builder/ " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_annotation_projects $cytomine_annotation_projects " +
"-z $cytomine_zoom_level " +
"--cytomine_predict_terms $cytomine_predict_terms " +
"--cytomine_excluded_terms $cytomine_excluded_terms " +
"--pyxit_target_width $pyxit_target_width " +
"--pyxit_target_height $pyxit_target_height " +
"--pyxit_colorspace $pyxit_colorspace " +
"--pyxit_n_jobs $pyxit_n_jobs " +
"--pyxit_save_to $pyxit_save_to " +
"--pyxit_transpose $pyxit_transpose " +
"--pyxit_fixed_size $pyxit_fixed_size " +
"--pyxit_interpolation $pyxit_interpolation " +
"--forest_n_estimators $forest_n_estimators " +
"--forest_max_features $forest_max_features " +
"--forest_min_samples_split $forest_min_samples_split " +
"--pyxit_n_subwindows $pyxit_n_subwindows " +
"--verbose ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 400, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("pyxit_save_to", "String", software.getId(), "algo/segmentation_model_builder/logs/segmentation_tumor_model.pkl", true, 1600, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_annotation_projects", "List", software.getId(), "160436450", true, 600); // ???
cytomine.addSoftwareParameter("$cytomine_zoom_level", "Number", software.getId(), "0", true, 700); // ???
cytomine.addSoftwareParameter("cytomine_predict_terms", "List", software.getId(), "20202", true, 800);// ???
cytomine.addSoftwareParameter("cytomine_excluded_terms", "List", software.getId(), "5735", true, 900);// ???
cytomine.addSoftwareParameter("pyxit_target_width", "Number", software.getId(), "24", true, 1000);
cytomine.addSoftwareParameter("pyxit_target_height", "Number", software.getId(), "24", true, 1100);
cytomine.addSoftwareParameter("pyxit_colorspace", "Number", software.getId(), "2", true, 1200);
cytomine.addSoftwareParameter("pyxit_n_jobs", "Number", software.getId(), "10", true, 1300);
cytomine.addSoftwareParameter("pyxit_transpose", "Boolean", software.getId(), "true", false, 1500);
cytomine.addSoftwareParameter("pyxit_fixed_size", "Boolean", software.getId(), "true", false, 1600);
cytomine.addSoftwareParameter("pyxit_interpolation", "Number", software.getId(), "1", false, 1700);
cytomine.addSoftwareParameter("forest_n_estimators", "Number", software.getId(), "10", true, 1800);
cytomine.addSoftwareParameter("forest_max_features", "Number", software.getId(), "28", true, 1900);
cytomine.addSoftwareParameter("forest_min_samples_split", "Number", software.getId(), "2", true, 2000);
cytomine.addSoftwareParameter("pyxit_n_subwindows", "Number", software.getId(), "1000", true, 2100);
} catch (CytomineException e) {
log.error(e);
}
}*/
public static void addSoftwareTissueSegmentPrediction(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("TissueSegment_Model_Predict", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/segmentation_prediction/image_prediction_wholeslide.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_working_path algo/segmentation_prediction/ " +
"--cytomine_id_project $cytomine_id_project " +
"-z $cytomine_zoom_level " +
"-t $cytomine_tile_size " +
"--cytomine_tile_min_stddev $cytomine_tile_min_stddev " +
"--cytomine_tile_max_mean $cytomine_tile_max_mean " +
"--startx $cytomine_startx " +
"--starty $cytomine_starty " +
"--endx $cytomine_endx " +
"--endy $cytomine_endy " +
"-j $cytomine_nb_jobs " +
"--cytomine_predict_term $cytomine_predict_term " +
"--cytomine_roi_term $cytomine_roi_term " +
"--cytomine_reviewed_roi $cytomine_reviewed_roi " +
"--pyxit_target_width $pyxit_target_width " +
"--pyxit_target_height $pyxit_target_height " +
"--pyxit_colorspace $pyxit_colorspace " +
"--pyxit_nb_jobs $pyxit_nb_jobs " +
"--pyxit_save_to $pyxit_load_from " +
"--cytomine_predict_step $cytomine_predict_step " +
"--cytomine_union $cytomine_union " +
"--cytomine_postproc $cytomine_postproc " +
"--cytomine_min_size $cytomine_min_size " +
"--cytomine_union_min_length $cytomine_union_min_length " +
"--cytomine_union_bufferoverlap $cytomine_union_bufferoverlap " +
"--cytomine_union_area $cytomine_union_area " +
"--cytomine_union_min_point_for_simplify $cytomine_union_min_point_for_simplify " +
"--cytomine_union_min_point $cytomine_union_min_point " +
"--cytomine_union_max_point $cytomine_union_max_point " +
"--cytomine_union_nb_zones_width $cytomine_union_nb_zones_width " +
"--cytomine_union_nb_zones_height $cytomine_union_nb_zones_height " +
"--cytomine_mask_internal_holes $cytomine_mask_internal_holes " +
"--cytomine_count $cytomine_count " +
"--cytomine_max_size $cytomine_max_size " +
"--pyxit_post_classification $pyxit_post_classification " +
"--pyxit_post_classification_save_to $pyxit_post_classification_save_to ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
cytomine.addSoftwareParameter("pyxit_load_from", "String", software.getId(), "algo/segmentation_prediction/logs/segmentation_tumor_model.pkl", true, 2500, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("model_id_job", "Domain", software.getId(), "", true, 750, "/api/job.json?project=$currentProject$", "softwareName", "softwareName");
cytomine.addSoftwareParameter("cytomine_zoom_level", "Number", software.getId(), "2", true, 900);
cytomine.addSoftwareParameter("cytomine_predict_term", "Domain", software.getId(), "", true, 925, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_roi_term", "Domain", software.getId(), "", true, 950, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_reviewed_roi", "Boolean", software.getId(), "true", true, 975);
cytomine.addSoftwareParameter("cytomine_tile_size", "Number", software.getId(), "512", true, 1000);
cytomine.addSoftwareParameter("cytomine_tile_min_stddev", "Number", software.getId(), "5", true, 1100);
cytomine.addSoftwareParameter("cytomine_tile_max_mean", "Number", software.getId(), "250", true, 1200);
cytomine.addSoftwareParameter("pyxit_target_width", "Number", software.getId(), "24", true, 2100);
cytomine.addSoftwareParameter("pyxit_target_height", "Number", software.getId(), "24", true, 2200);
cytomine.addSoftwareParameter("pyxit_colorspace", "Number", software.getId(), "2", true, 2300);
cytomine.addSoftwareParameter("pyxit_nb_jobs", "Number", software.getId(), "10", true, 2400);
cytomine.addSoftwareParameter("cytomine_predict_step", "Number", software.getId(), "8", true, 2600); //??
cytomine.addSoftwareParameter("cytomine_union", "Boolean", software.getId(), "true", true, 2700);
cytomine.addSoftwareParameter("cytomine_postproc", "Boolean", software.getId(), "true", true, 2800);
cytomine.addSoftwareParameter("cytomine_min_size", "Number", software.getId(), "1000", true, 2900);
cytomine.addSoftwareParameter("cytomine_max_size", "Number", software.getId(), "100000000", true, 2950);
cytomine.addSoftwareParameter("cytomine_union_min_length", "Number", software.getId(), "10", true, 3000);
cytomine.addSoftwareParameter("cytomine_union_bufferoverlap", "Number", software.getId(), "5", true, 3100);
cytomine.addSoftwareParameter("cytomine_union_area", "Number", software.getId(), "5000", true, 3200);
cytomine.addSoftwareParameter("cytomine_union_min_point_for_simplify", "Number", software.getId(), "1000", true, 3300);
cytomine.addSoftwareParameter("cytomine_union_min_point", "Number", software.getId(), "500", true, 3400);
cytomine.addSoftwareParameter("cytomine_union_max_point", "Number", software.getId(), "1000", true, 3500);
cytomine.addSoftwareParameter("cytomine_union_nb_zones_width", "Number", software.getId(), "5", true, 3600);
cytomine.addSoftwareParameter("cytomine_union_nb_zones_height", "Number", software.getId(), "5", true, 3700);
cytomine.addSoftwareParameter("cytomine_mask_internal_holes", "Boolean", software.getId(), "true", true, 3800);
cytomine.addSoftwareParameter("cytomine_count", "Boolean", software.getId(), "false", true, 3900);
cytomine.addSoftwareParameter("cytomine_startx", "Number", software.getId(), "0", true, 3925);
cytomine.addSoftwareParameter("cytomine_starty", "Number", software.getId(), "0", true, 3950);
cytomine.addSoftwareParameter("cytomine_endx", "Number", software.getId(), "0", true, 3975);
cytomine.addSoftwareParameter("cytomine_endy", "Number", software.getId(), "0", true, 3980);
cytomine.addSoftwareParameter("pyxit_post_classification", "Boolean", software.getId(), "false", true, 4100);
cytomine.addSoftwareParameter("pyxit_post_classification_save_to", "String", software.getId(), "/tmp", true, 4200);
cytomine.addSoftwareParameter("cytomine_nb_jobs", "Number", software.getId(), "10", true, 4300);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareCellClassifierFinder(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Cell_Finder", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/object_finder/image_wholeslide_objectfinder.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_working_path algo/object_finder/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_id_image $cytomine_id_image " +
"--cytomine_tile_size $cytomine_tile_size " +
"--cytomine_zoom_level $cytomine_zoom_level " +
"--cytomine_tile_overlap $cytomine_tile_overlap " +
"--cytomine_filter $cytomine_filter " +
"--cytomine_union_min_length $cytomine_union_min_length " +
"--cytomine_union_bufferoverlap $cytomine_union_bufferoverlap " +
"--cytomine_union_area $cytomine_union_area " +
"--cytomine_union_min_point_for_simplify $cytomine_union_min_point_for_simplify " +
"--cytomine_union_min_point $cytomine_union_min_point " +
"--cytomine_union_max_point $cytomine_union_max_point " +
"--cytomine_union_nb_zones_width $cytomine_union_nb_zones_width " +
"--cytomine_union_nb_zones_height $cytomine_union_nb_zones_height " +
"--cytomine_predict_term $cytomine_predict_term " +
"--cytomine_min_area $cytomine_min_area " +
"--cytomine_max_area $cytomine_max_area " +
"--verbose true");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 600, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_id_image", "Domain", software.getId(), "", true, 800, "/api/project/$currentProject$/imageinstance.json", "instanceFilename", "instanceFilename");
cytomine.addSoftwareParameter("cytomine_predict_term", "Domain", software.getId(), "", true, 850, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_zoom_level", "Number", software.getId(), "1", true, 875);
cytomine.addSoftwareParameter("cytomine_filter", "String", software.getId(), "adaptive", true, 890); //adaptive,binary or otsu
cytomine.addSoftwareParameter("cytomine_tile_size", "Number", software.getId(), "512", true, 900);
cytomine.addSoftwareParameter("cytomine_tile_overlap", "Number", software.getId(), "0", true, 1100);
cytomine.addSoftwareParameter("cytomine_union_min_length", "Number", software.getId(), "10", true, 1300);
cytomine.addSoftwareParameter("cytomine_union_bufferoverlap", "Number", software.getId(), "5", true, 1400);
cytomine.addSoftwareParameter("cytomine_union_area", "Number", software.getId(), "5000", true, 1500);
cytomine.addSoftwareParameter("cytomine_union_min_point_for_simplify", "Number", software.getId(), "1000", true, 1600);
cytomine.addSoftwareParameter("cytomine_union_min_point", "Number", software.getId(), "500", true, 1700);
cytomine.addSoftwareParameter("cytomine_union_max_point", "Number", software.getId(), "1000", true, 1800);
cytomine.addSoftwareParameter("cytomine_union_nb_zones_width", "Number", software.getId(), "5", true, 1900);
cytomine.addSoftwareParameter("cytomine_union_nb_zones_height", "Number", software.getId(), "5", true, 2000);
cytomine.addSoftwareParameter("cytomine_min_area", "Number", software.getId(), "0", true, 2200);
cytomine.addSoftwareParameter("cytomine_max_area", "Number", software.getId(), "10000000", true, 2300);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareCellClassifierBuilder(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Cell_Classifier_Model_Builder", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/classification_model_builder/add_and_run_job.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_working_path algo/classification_model_builder/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_annotation_projects $cytomine_annotation_projects " +
"-z $cytomine_zoom_level " +
"--cytomine_excluded_terms $cytomine_excluded_terms " +
"--pyxit_target_width $pyxit_target_width " +
"--pyxit_target_height $pyxit_target_height " +
"--pyxit_colorspace $pyxit_colorspace " +
"--pyxit_n_jobs $pyxit_n_jobs " +
"--pyxit_min_size $pyxit_min_size " +
"--pyxit_max_size $pyxit_max_size " +
"--pyxit_interpolation $pyxit_interpolation " +
"--forest_n_estimators $forest_n_estimators " +
"--forest_max_features $forest_max_features " +
"--forest_min_samples_split $forest_min_samples_split " +
"--pyxit_n_subwindows $pyxit_n_subwindows " +
"--svm $svm " +
"--pyxit_save_to $pyxit_save_to " +
"--cytomine_dump_type $cytomine_dump_type " +
"--cytomine_reviewed $cytomine_reviewed " +
"--pyxit_transpose $pyxit_transpose " +
"--cytomine_predict_terms $cytomine_predict_terms " +
"--pyxit_fixed_size $pyxit_fixed_size " +
"--forest_shared_mem $forest_shared_mem " +
"--svm_c $svm_c " +
"--verbose true ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 600, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
cytomine.addSoftwareParameter("pyxit_save_to", "String", software.getId(), "algo/classification_model_builder/logs/classification_tumor_model.pkl", true, 1600, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_annotation_projects", "ListDomain", software.getId(), "", true, 800, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_zoom_level", "Number", software.getId(), "0", true, 900);
cytomine.addSoftwareParameter("cytomine_excluded_terms", "ListDomain", software.getId(), "", true, 1000, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_predict_terms", "ListDomain", software.getId(), "", true, 1050, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_reviewed", "Boolean", software.getId(), "false", true, 1075);
cytomine.addSoftwareParameter("pyxit_n_subwindows", "Number", software.getId(), "100", true, 1080);
cytomine.addSoftwareParameter("pyxit_target_width", "Number", software.getId(), "16", true, 1100);
cytomine.addSoftwareParameter("pyxit_target_height", "Number", software.getId(), "16", true, 1200);
cytomine.addSoftwareParameter("pyxit_colorspace", "Number", software.getId(), "2", true, 1300);
cytomine.addSoftwareParameter("pyxit_min_size", "Number", software.getId(), "0.0", true, 1500);
cytomine.addSoftwareParameter("pyxit_max_size", "Number", software.getId(), "1", true, 1600);
cytomine.addSoftwareParameter("pyxit_interpolation", "Number", software.getId(), "1", true, 1700);
cytomine.addSoftwareParameter("forest_n_estimators", "Number", software.getId(), "10", true, 1800);
cytomine.addSoftwareParameter("forest_max_features", "Number", software.getId(), "28", true, 1900);
cytomine.addSoftwareParameter("forest_min_samples_split", "Number", software.getId(), "1", true, 2000);
cytomine.addSoftwareParameter("svm", "Number", software.getId(), "0", true, 2200);
cytomine.addSoftwareParameter("svm_c", "Number", software.getId(), "1.0", true, 2250);
cytomine.addSoftwareParameter("cytomine_dump_type", "Number", software.getId(), "1", true, 2300);
cytomine.addSoftwareParameter("pyxit_transpose", "Boolean", software.getId(), "false", true, 2500);
cytomine.addSoftwareParameter("pyxit_fixed_size", "Boolean", software.getId(), "false", true, 2700);
cytomine.addSoftwareParameter("pyxit_n_jobs", "Number", software.getId(), "10", true, 2750);
cytomine.addSoftwareParameter("forest_shared_mem", "Boolean", software.getId(), "false", true, 2800);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareCellClassifierPrediction(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Cell_Classifier_Model_Predict", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/classification_prediction/add_and_run_job.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_working_path algo/classification_prediction/ " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_id_image $cytomine_id_image " +
"--cytomine_zoom_level $cytomine_zoom_level " +
"--cytomine_id_userjob $cytomine_id_userjob " +
"--pyxit_save_to $pyxit_load_from " +
"--cytomine_dump_type $cytomine_dump_type " +
"--verbose true ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
cytomine.addSoftwareParameter("pyxit_load_from", "String", software.getId(), "", true, 1100, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("model_id_job", "Domain", software.getId(), "", true, 750, "/api/job.json?project=$currentProject$", "softwareName", "softwareName");
cytomine.addSoftwareParameter("cytomine_id_image", "Domain", software.getId(), "", true, 800, "/api/project/$currentProject$/imageinstance.json", "instanceFilename", "instanceFilename");
cytomine.addSoftwareParameter("cytomine_zoom_level", "Number", software.getId(), "0", true, 900);
cytomine.addSoftwareParameter("cytomine_id_userjob", "Domain", software.getId(), "", true, 1000, "/api/project/$currentProject$/user.json?showJob=true", "username", "username");
cytomine.addSoftwareParameter("cytomine_dump_type", "Number", software.getId(), "1", true, 1200);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareLandMarkBuilder(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Landmark_Model_Builder", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/landmark_model_builder/build_model.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_working_path algo/landmark_model_builder/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_id_project $cytomine_id_project " +
"--cytomine_id_term $cytomine_id_term " +
"--image_type jpg " +
"--model_njobs $model_njobs " +
"--model_R $model_R " +
"--model_RMAX $model_RMAX " +
"--model_P $model_P " +
"--model_npred $model_npred " +
"--model_ntrees $model_ntrees " +
"--model_ntimes $model_ntimes " +
"--model_angle $model_angle " +
"--model_depth $model_depth " +
"--model_step $model_step " +
"--model_wsize $model_wsize " +
"--model_save_to $model_save_to_dir " +
"--model_name $model_name_to_save " +
"--verbose true ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
cytomine.addSoftwareParameter("model_save_to_dir", "String", software.getId(), "", true, 2000, null, null, null, true);
cytomine.addSoftwareParameter("model_name_to_save", "String", software.getId(), "", true, 2100, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_id_term", "Domain", software.getId(), "", true, 800, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("model_njobs", "Number", software.getId(), "10", true, 900);
cytomine.addSoftwareParameter("model_R", "Number", software.getId(), "20", true, 1000);
cytomine.addSoftwareParameter("model_RMAX", "Number", software.getId(), "200", true, 1100);
cytomine.addSoftwareParameter("model_P", "Number", software.getId(), "3", true, 1200);
cytomine.addSoftwareParameter("model_npred", "Number", software.getId(), "50000", true, 1300);
cytomine.addSoftwareParameter("model_ntrees", "Number", software.getId(), "100", true, 1400);
cytomine.addSoftwareParameter("model_ntimes", "Number", software.getId(), "3", true, 1500);
cytomine.addSoftwareParameter("model_angle", "Number", software.getId(), "30", true, 1600);
cytomine.addSoftwareParameter("model_depth", "Number", software.getId(), "5", true, 1700);
cytomine.addSoftwareParameter("model_step", "Number", software.getId(), "1", true, 1800);
cytomine.addSoftwareParameter("model_wsize", "Number", software.getId(), "8", true, 1900);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareLandMarkPredict(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Landmark_Model_Predict", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/landmark_prediction/landmark_predict.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_working_path algo/landmark_prediction/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_id_project $cytomine_id_project " +
"--model_load_from algo/models/ " + // TODO only for test. Improve that !
"--model_names $cytomine_model_names_to_load " + // TODO core will set dir/name. To improve
"--image_type jpg " +
"--verbose true ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 600, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 800, null, null, null, true);
//cytomine.addSoftwareParameter("model_load_from_dir", "String", software.getId(), "", true, 900, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_model_names_to_load", "String", software.getId(), "", true, 1000, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("models_id_job", "ListDomain", software.getId(), "", true, 1100, "/api/job.json?project=$currentProject$", "softwareName", "softwareName");
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareCellClassifierValidation(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Cell_Classifier_Validation", "createRabbitJobWithArgsService", "ValidateAnnotation",
"python algo/classification_validation/add_and_run_job.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_working_path algo/classification_validation/annotations/ " +
"--cytomine_id_project $cytomine_id_project " +
"-z $cytomine_zoom_level " +
"--cytomine_dump_type $cytomine_dump_type " +
"--cytomine_fixed_tile $cytomine_fixed_tile " +
"--cytomine_n_shifts $cytomine_n_shifts " +
"--cytomine_annotation_projects $cytomine_annotation_projects " +
"--cytomine_excluded_terms $cytomine_excluded_terms " +
"--cytomine_reviewed $cytomine_reviewed " +
"--pyxit_target_width $pyxit_target_width " +
"--pyxit_target_height $pyxit_target_height " +
"--pyxit_colorspace $pyxit_colorspace " +
"--pyxit_n_jobs $pyxit_n_jobs " +
"--pyxit_n_subwindows $pyxit_n_subwindows " +
"--pyxit_min_size $pyxit_min_size " +
"--pyxit_max_size $pyxit_max_size " +
"--pyxit_interpolation $pyxit_interpolation " +
"--pyxit_transpose $pyxit_transpose " +
"--pyxit_fixed_size $pyxit_fixed_size " +
"--forest_n_estimators $forest_n_estimators " +
"--forest_max_features $forest_max_features " +
"--forest_min_samples_split $forest_min_samples_split " +
"--svm $svm " +
"--svm_c $svm_c " +
"--cv_k_folds $cv_k_folds " +
"--cv_shuffle $cv_shuffle " +
"--cv_shuffle_test_fraction $cv_shuffle_test_fraction " +
"--verbose true");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
// set by user
cytomine.addSoftwareParameter("cytomine_annotation_projects", "ListDomain", software.getId(), "", true, 750, "/api/ontology/$currentOntology$/project.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_excluded_terms", "ListDomain", software.getId(), "", true, 760, "/api/project/$currentProject$/term.json", "name", "name");
cytomine.addSoftwareParameter("cytomine_reviewed", "Boolean", software.getId(), "false", true, 770);
cytomine.addSoftwareParameter("cytomine_zoom_level", "Number", software.getId(), "0", true, 800);
cytomine.addSoftwareParameter("pyxit_n_subwindows", "Number", software.getId(), "100", true, 850);
cytomine.addSoftwareParameter("pyxit_target_width", "Number", software.getId(), "16", true, 1500);
cytomine.addSoftwareParameter("pyxit_target_height", "Number", software.getId(), "16", true, 1600);
cytomine.addSoftwareParameter("pyxit_colorspace", "Number", software.getId(), "2", true, 1800);
cytomine.addSoftwareParameter("pyxit_min_size", "Number", software.getId(), "0.1", true, 2100);
cytomine.addSoftwareParameter("pyxit_max_size", "Number", software.getId(), "1.0", true, 2200);
cytomine.addSoftwareParameter("pyxit_interpolation", "Number", software.getId(), "1", true, 2300);
cytomine.addSoftwareParameter("pyxit_transpose", "Boolean", software.getId(), "false", true, 2400);
cytomine.addSoftwareParameter("pyxit_fixed_size", "Boolean", software.getId(), "false", true, 2500);
cytomine.addSoftwareParameter("forest_n_estimators", "Number", software.getId(), "10", true, 2600);
cytomine.addSoftwareParameter("forest_max_features", "Number", software.getId(), "28", true, 2700);
cytomine.addSoftwareParameter("forest_min_samples_split", "Number", software.getId(), "1", true, 2800);
cytomine.addSoftwareParameter("svm", "Number", software.getId(), "0", true, 2900);
cytomine.addSoftwareParameter("svm_c", "Number", software.getId(), "1.0", true, 3000);
cytomine.addSoftwareParameter("cv_k_folds", "Number", software.getId(), "5", true, 3100);
cytomine.addSoftwareParameter("cv_shuffle", "Boolean", software.getId(), "false", true, 3200);
cytomine.addSoftwareParameter("cv_shuffle_test_fraction", "Number", software.getId(), "0.0", true, 3300);
cytomine.addSoftwareParameter("pyxit_n_jobs", "Number", software.getId(), "10", true, 3350);
cytomine.addSoftwareParameter("cytomine_fixed_tile", "Boolean", software.getId(), "false", true, 3400);
cytomine.addSoftwareParameter("cytomine_n_shifts", "Number", software.getId(), "0", true, 3500);
cytomine.addSoftwareParameter("cytomine_dump_type", "Number", software.getId(), "1", true, 3600);
} catch (CytomineException e) {
log.error(e);
}
}
public static void addSoftwareExportLandmark(Cytomine cytomine) throws Exception {
try{
Software software = cytomine.addSoftware("Export_LandMark", "createRabbitJobWithArgsService", "DownloadFiles",
"python algo/export_landmark/export_landmark.py " +
"--cytomine_host $host " +
"--cytomine_public_key $publicKey " +
"--cytomine_private_key $privateKey " +
"--cytomine_base_path /api/ " +
"--cytomine_id_software $cytomine_id_software " +
"--cytomine_working_path algo/export_landmark/files/ " +
"--cytomine_id_project $cytomine_id_project ");
// set by server
cytomine.addSoftwareParameter("cytomine_id_software", "Number", software.getId(), "", true, 500, null, null, null, true);
cytomine.addSoftwareParameter("cytomine_id_project", "Number", software.getId(), "", true, 700, null, null, null, true);
} catch (CytomineException e) {
log.error(e);
}
}
}