Ejemplo n.º 1
0
def parseClusterConfigFile(configFilePath):
    """
    Convenience function for parsing cluster configs.
    Returns a Namespace object.
    (Similar to the behavior of argparse.ArgumentParser.parse_args() )
    """
    schema = JsonConfigParser(ClusterConfigFields)
    return schema.parseConfigFile(configFilePath)
Ejemplo n.º 2
0
def parseClusterConfigFile( configFilePath ):
    """
    Convenience function for parsing cluster configs.
    Returns a Namespace object.
    (Similar to the behavior of argparse.ArgumentParser.parse_args() )
    """
    schema = JsonConfigParser( ClusterConfigFields )
    return schema.parseConfigFile( configFilePath )
    def __init__(
        self,
        shell,
        headless,
        workflow_cmdline_args,
        project_creation_args,
        hintoverlayFile=None,
        pmapoverlayFile=None,
        *args,
        **kwargs
    ):
        graph = Graph()

        super(SplitBodyCarvingWorkflow, self).__init__(
            shell, headless, workflow_cmdline_args, project_creation_args, *args, graph=graph, **kwargs
        )

        ## Create applets
        self.projectMetadataApplet = ProjectMetadataApplet()
        self.dataSelectionApplet = DataSelectionApplet(
            self, "Input Data", "Input Data", supportIlastik05Import=True, batchDataGui=False
        )
        opDataSelection = self.dataSelectionApplet.topLevelOperator

        opDataSelection.DatasetRoles.setValue(["Raw Data", "Pixel Probabilities", "Raveler Labels"])

        self.preprocessingApplet = PreprocessingApplet(
            workflow=self, title="Preprocessing", projectFileGroupName="preprocessing"
        )

        self.splitBodyCarvingApplet = SplitBodyCarvingApplet(workflow=self, projectFileGroupName="carving")

        self.splitBodyPostprocessingApplet = SplitBodyPostprocessingApplet(workflow=self)
        self.splitBodySupervoxelExportApplet = SplitBodySupervoxelExportApplet(workflow=self)

        # Expose to shell
        self._applets = []
        self._applets.append(self.projectMetadataApplet)
        self._applets.append(self.dataSelectionApplet)
        self._applets.append(self.preprocessingApplet)
        self._applets.append(self.splitBodyCarvingApplet)
        self._applets.append(self.splitBodyPostprocessingApplet)
        self._applets.append(self.splitBodySupervoxelExportApplet)

        self._split_tool_params = None
        if workflow_cmdline_args:
            arg_parser = argparse.ArgumentParser(description="Specify parameters for the split-body carving workflow")
            arg_parser.add_argument("--split_tool_param_file", required=False)
            parsed_args, unused_args = arg_parser.parse_known_args(workflow_cmdline_args)
            if unused_args:
                logger.warn("Unused command-line args: {}".format(unused_args))

            if parsed_args.split_tool_param_file is None:
                logger.warn("Missing cmd-line arg: --split_tool_param_file")
            else:
                logger.debug("Parsing split tool parameters: {}".format(parsed_args.split_tool_param_file))
                json_parser = JsonConfigParser(SplitToolParamsSchema)
                self._split_tool_params = json_parser.parseConfigFile(parsed_args.split_tool_param_file)
Ejemplo n.º 4
0
    def __init__(self,
                 shell,
                 headless,
                 workflow_cmdline_args,
                 project_creation_args,
                 hintoverlayFile=None,
                 pmapoverlayFile=None,
                 *args,
                 **kwargs):
        graph = Graph()

        super(SplitBodyCarvingWorkflow, self).__init__(shell,
                                                       headless,
                                                       workflow_cmdline_args,
                                                       project_creation_args,
                                                       *args,
                                                       graph=graph,
                                                       **kwargs)

        ## Create applets
        self.projectMetadataApplet = ProjectMetadataApplet()
        self.dataSelectionApplet = DataSelectionApplet(
            self,
            "Input Data",
            "Input Data",
            supportIlastik05Import=True,
            batchDataGui=False)
        opDataSelection = self.dataSelectionApplet.topLevelOperator

        opDataSelection.DatasetRoles.setValue(
            ['Raw Data', 'Pixel Probabilities', 'Raveler Labels'])

        self.preprocessingApplet = PreprocessingApplet(
            workflow=self,
            title="Preprocessing",
            projectFileGroupName="preprocessing")

        self.splitBodyCarvingApplet = SplitBodyCarvingApplet(
            workflow=self, projectFileGroupName="carving")

        self.splitBodyPostprocessingApplet = SplitBodyPostprocessingApplet(
            workflow=self)
        self.splitBodySupervoxelExportApplet = SplitBodySupervoxelExportApplet(
            workflow=self)

        # Expose to shell
        self._applets = []
        self._applets.append(self.projectMetadataApplet)
        self._applets.append(self.dataSelectionApplet)
        self._applets.append(self.preprocessingApplet)
        self._applets.append(self.splitBodyCarvingApplet)
        self._applets.append(self.splitBodyPostprocessingApplet)
        self._applets.append(self.splitBodySupervoxelExportApplet)

        self._split_tool_params = None
        if workflow_cmdline_args:
            arg_parser = argparse.ArgumentParser(
                description=
                "Specify parameters for the split-body carving workflow")
            arg_parser.add_argument('--split_tool_param_file', required=False)
            parsed_args, unused_args = arg_parser.parse_known_args(
                workflow_cmdline_args)
            if unused_args:
                logger.warn("Unused command-line args: {}".format(unused_args))

            if parsed_args.split_tool_param_file is None:
                logger.warn("Missing cmd-line arg: --split_tool_param_file")
            else:
                logger.debug("Parsing split tool parameters: {}".format(
                    parsed_args.split_tool_param_file))
                json_parser = JsonConfigParser(SplitToolParamsSchema)
                self._split_tool_params = json_parser.parseConfigFile(
                    parsed_args.split_tool_param_file)