def get_most_significant_input_dimensions(self, which_indices=None):
        """
        Determine which dimensions should be plotted

        Returns the top three most signification input dimensions

        if less then three dimensions, the non existing dimensions are
        labeled as None, so for a 1 dimensional input this returns
        (0, None, None).

        :param which_indices: force the indices to be the given indices.
        :type which_indices: int or tuple(int,int) or tuple(int,int,int)
        """
        if which_indices is None:
            which_indices = np.argsort(self.input_sensitivity())[::-1][:3]
        try:
            input_1, input_2, input_3 = which_indices
        except ValueError:
            # which indices is tuple or int
            try:
                input_3 = None
                input_1, input_2 = which_indices
            except TypeError:
                # which_indices is an int
                input_1, input_2 = which_indices, None
            except __HOLE__:
                # which_indices was a list or array like with only one int
                input_1, input_2 = which_indices[0], None
        return input_1, input_2, input_3
dataset/ETHPy150Open SheffieldML/GPy/GPy/kern/src/kern.py/Kern.get_most_significant_input_dimensions