예제 #1
0
    def create_settings(self):
        self.pipeline = None
        self.ipds = []
        self.imported_metadata = []
        module_explanation = [
            "The %s module optionally allows you to extract information" %
            self.module_name,
            "describing your images (i.e, metadata) which will be stored along",
            "with your measurements. This information can be contained in the",
            "file name and/or location, or in an external file."
        ]
        self.set_notes([" ".join(module_explanation)])

        self.wants_metadata = cps.Binary("Extract metadata?",
                                         False,
                                         doc="""
            Do your file or path names or file headers contain information\n
            (metadata) you would like to extract and store along with your 
            measurements?""")

        self.extraction_methods = []
        self.add_extraction_method(False)
        self.extraction_method_count = cps.HiddenCount(
            self.extraction_methods, "Extraction method count")
        self.add_extraction_method_button = cps.DoSomething(
            "Add another extraction method", "Add", self.add_extraction_method)
        self.table = cps.Table("", use_sash=True)
        self.update_table_button = cps.DoSomething("Update table", "Update",
                                                   self.update_table)
예제 #2
0
    def create_settings(self):
        self.pipeline = None
        self.metadata_keys = {}

        module_explanation = [
            "The %s module optionally allows you to split your list of images into image subsets"
            % self.module_name,
            "(groups) which will be processed independently of each other. Examples of",
            "groupings include screening batches, microtiter plates, time-lapse movies, etc."
        ]
        self.set_notes([" ".join(module_explanation)])

        self.wants_groups = cps.Binary("Do you want to group your images?",
                                       False,
                                       doc="""
            Select <i>%(YES)s</i> if you need to split your images into image subsets (or <i>groups</i>) such that each
            group is processed independently of each other. See the main module
            help for more details.""" % globals())

        self.grouping_text = cps.HTMLText("",
                                          content="""
            Each unique metadata value (or combination of values) 
            will be defined as a group""",
                                          size=(30, 2))
        self.grouping_metadata = []
        self.grouping_metadata_count = cps.HiddenCount(
            self.grouping_metadata, "grouping metadata count")
        self.add_grouping_metadata(can_remove=False)
        self.add_grouping_metadata_button = cps.DoSomething(
            "", "Add another metadata item", self.add_grouping_metadata)

        self.grouping_list = cps.Table("Grouping list",
                                       min_size=(300, 100),
                                       doc="""
            This list shows the unique values of the selected metadata under the "Group" column; each of the unique values 
            comprises a group. The "Count" column shows the number of image sets that included in a given group; this
            is useful as a "sanity check", to make sure that the expected number of images are present. For example,
            if you are grouping by per-plate metadata from a 384-well assay with 2 sites per well consisting of 3 plates, 
            you would expect to see 3 groups (each from the 3 unique plate IDs), with 384 wells &times; 2 sites/well 
            = 768 image sets in each.""")

        self.image_set_list = cps.Table("Image sets",
                                        doc="""
            This list displays the file name and location of each of the image sets that comprise the
            group. For example, if you are grouping by per-plate metadata from a 384-well assay with 2 sites per well 
            consisting of 3 plates, you would expect to see a table consisting of 3 plates &times; 384 wells/plate 
            &times;2 sites/well = 2304 rows.""")