<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def get_slice(self, thin_start=None, thin_interval=None, thin_end=None):
 """Formats a slice using the given arguments that can be used to retrieve a thinned array from an InferenceFile. Parameters thin_start : int, optional The starting index to use. If None, will use the ``thin_start`` attribute. thin_interval : int, optional The interval to use. If None, will use the ``thin_interval`` attribute. thin_end : int, optional The end index to use. If None, will use the ``thin_end`` attribute. Returns ------- slice : The slice needed. """

        if thin_start is None:
            thin_start = int(self.thin_start)
        else:
            thin_start = int(thin_start)
        if thin_interval is None:
            thin_interval = self.thin_interval
        else:
            thin_interval = int(numpy.ceil(thin_interval))
        if thin_end is None:
            thin_end = self.thin_end
        else:
            thin_end = int(thin_end)
        return slice(thin_start, thin_end, thin_interval)