class NDCubeViewerController(ViewerController, MPLCoordinatesMixin): viewer_config = ViewerConfig().setMenuPath( "File/Open NDCube").setMultiFile(True) def __init__(self, model): ViewerController.__init__(self) self._model = model self._view = NDCubeView() self._view.updateModel(self._model) MPLCoordinatesMixin.__init__(self) @classmethod def fromFile(cls, files: str) -> 'ViewerController': cubes = [NDCube(getdata(f), WCS(getheader(f))) for f in files] if len(cubes) == 1: cube = cubes[0] else: cube = NDCubeSequence(cubes) model = NDCubeModel(cube, files) return cls(model) @classmethod def fromModel(cls, model: DataModel) -> 'ViewerController': return cls(model) @property def model(self) -> DataModel: return self._model @property def view(self) -> Viewer: return self._view def updateModel(self, model): self._view.updateModel(model) self._model = model def getTitle(self) -> str: return str(self._model.title) @property def data_type(self) -> str: return DataType.NDCUBE @property def viewer_type(self) -> str: return ViewerType.MPL
def viewer_config(self) -> ViewerConfig: return ViewerConfig().setMenuPath("File/Open SunPy Map/MPL")
def viewer_config(self) -> ViewerConfig: return ViewerConfig().setMenuPath("File/Open 2D FITS/MPL")
def viewer_config(self) -> ViewerConfig: return ViewerConfig().setMenuPath( "File/Open SunPy Composite Map/From File").setMultiFile(True)
def viewer_config(self) -> ViewerConfig: return ViewerConfig().setMenuPath( "File/Open SunPy Map/Ginga").addRequiredPackage("ginga")
def viewer_config(self) -> ViewerConfig: return ViewerConfig().setMenuPath("File/Open SunPy Timeseries")