def _extract_1d(self, imin, imax, new_ghosts):
        imn, imx = imin, imax
        ghosts = self._ghosts

        # Support end-relative indexing and adjust for existing ghost planes.
        flow_imax, = self.shape
        if imin < 0:
            imin += flow_imax
        imin += ghosts[0]
        if imax < 0:
            imax += flow_imax
        imax += ghosts[0]

        # Adjust for new ghost/rind planes.
        imin -= new_ghosts[0]
        imax += new_ghosts[1]

        # Check limits.
        if imin < 0 or imax > flow_imax+ghosts[1]:
            region = (imin, imax)
            original = (0, flow_imax+ghosts[1])
            raise ValueError('Extraction region %s exceeds original %s'
                             % (region, original))
        # Extract.
        flow = FlowSolution()
        for arr in self._arrays:
            flow.add_array(self.name_of_obj(arr), arr[imin:imax+1])
        for vector in self._vectors:
            flow.add_vector(self.name_of_obj(vector),
                            vector.extract(imn, imx, ghosts=new_ghosts))
        flow.grid_location = self.grid_location
        flow.ghosts = new_ghosts
        flow._copy_scalars(self)
        return flow
Returns inputs that are on the component boundary.
dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.lib/src/openmdao/lib/datatypes/domain/flow.py/FlowSolution._extract_1d--crossover with--dataset/ETHPy150Open OpenMDAO/OpenMDAO-Framework/openmdao.main/src/openmdao/main/depgraph.py/DependencyGraph.get_boundary_inputs