def __call__(self):
        """
        Filter each Layout in the Collator with the supplied
        path_filters. If merge is set to True all Layouts are
        merged, otherwise an NdMapping containing all the
        Layouts is returned. Optionally a list of dimensions
        to be ignored can be supplied.
        """
        constant_dims = self.static_dimensions
        ndmapping = NdMapping(kdims=self.kdims)

        num_elements = len(self)
        for idx, (key, data) in enumerate(self.data.items()):
            if isinstance(data, AttrTree):
                data = data.filter(self.filters)
            if len(self.vdims) and self.value_transform:
                vargs = dict(zip(self.dimensions('value', label=True), data))
                data = self.value_transform(vargs)
            if not isinstance(data, Dimensioned):
                raise ValueError("Collator values must be Dimensioned objects "
                                 "before collation.")

            dim_keys = zip(self.kdims, key)
            varying_keys = [(d, k) for d, k in dim_keys if not self.drop_constant or
                            (d not in constant_dims and d not in self.drop)]
            constant_keys = [(d, k) for d, k in dim_keys if d in constant_dims
                             and d not in self.drop and self.drop_constant]
            if varying_keys or constant_keys:
                data = self._add_dimensions(data, varying_keys,
                                            dict(constant_keys))
            ndmapping[key] = data
            if self.progress_bar is not None:
                self.progress_bar(float(idx+1)/num_elements*100)

        components = ndmapping.values()
        accumulator = ndmapping.last.clone(components[0].data)
        for component in components:
            accumulator.update(component)
        return accumulator
def __call__ ( self ) : constant_dims = self . static_dimensions ndmapping = NdMapping ( kdims = self . kdims ) num_elements = len ( self ) for idx , ( key , data ) in enumerate ( self . data . items ( ) ) : if isinstance ( data , AttrTree ) : data = data . filter ( self . filters ) if len ( self . vdims ) and self . value_transform : vargs = dict ( zip ( self . dimensions ( 'value' , label = True ) , data ) ) data = self . value_transform ( vargs ) if not isinstance ( data , Dimensioned ) : raise ValueError ( "Collator values must be Dimensioned objects " "before collation." ) dim_keys = zip ( self . kdims , key ) varying_keys = [ ( d , k ) for d , k in dim_keys if not self . drop_constant or ( d not in constant_dims and d not in self . drop ) ] constant_keys = [ ( d , k ) for d , k in dim_keys if d in constant_dims and d not in self . drop and self . drop_constant ] if varying_keys or constant_keys : data = self . _add_dimensions ( data , varying_keys , dict ( constant_keys ) ) ndmapping [ key ] = data if self . progress_bar is not None : self . progress_bar ( float ( idx + 1 ) / num_elements * 100 ) components = ndmapping . values ( ) accumulator = ndmapping . last . clone ( components [ 0 ] . data ) for component in components : accumulator . update ( component ) return accumulator
Filter each Layout in the Collator with the supplied
        path_filters. If merge is set to True all Layouts are
        merged, otherwise an NdMapping containing all the
        Layouts is returned. Optionally a list of dimensions
        to be ignored can be supplied.