Beispiel #1
0
class PVGeoLandsatReader(LandsatReader):
    def __init__(self):
        LandsatReader.__init__(self)

    #### Seters and Geters ####

    @smproperty.xml(
        _helpers.getFileReaderXml(LandsatReader.extensions,
                                  readerDescription=LandsatReader.description))
    def AddFileName(self, fname):
        LandsatReader.AddFileName(self, fname)

    @smproperty.dataarrayselection(name="Available Bands")
    def GetDataSelection(self):
        return LandsatReader.GetDataSelection(self)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Cast Data Type',
            command='CastDataType',
            default_values=True,
            help=
            'A boolean to set whether to cast the data arrays so invalid points are filled nans.',
            panel_visibility='advanced'))
    def CastDataType(self, flag):
        LandsatReader.CastDataType(self, flag)

    @smproperty.xml(
        _helpers.getDropDownXml(name='Color Scheme',
                                command='SetColorScheme',
                                labels=LandsatReader.GetColorSchemeNames(),
                                help='Set a color scheme to use.'))
    def SetColorScheme(self, scheme):
        LandsatReader.SetColorScheme(self, scheme)
Beispiel #2
0
class PVGeoMagObsReader(MagObsReader):
    def __init__(self):
        MagObsReader.__init__(self)

    #### Seters and Geters ####
    @smproperty.xml(_helpers.getFileReaderXml(MagObsReader.extensions, readerDescription=MagObsReader.description))
    def AddFileName(self, fname):
        MagObsReader.AddFileName(self, fname)

    @smproperty.doublevector(name="TimeDelta", default_values=1.0, panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        MagObsReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues", information_only="1", si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return MagObsReader.GetTimestepValues(self)

    @smproperty.intvector(name="SkipRows", default_values=0, panel_visibility="advanced")
    def SetSkipRows(self, skip):
        MagObsReader.SetSkipRows(self, skip)

    @smproperty.stringvector(name="Comments", default_values="!", panel_visibility="advanced")
    def SetComments(self, identifier):
        MagObsReader.SetComments(self, identifier)
Beispiel #3
0
class PVGeoEsriGridReader(EsriGridReader):
    def __init__(self):
        EsriGridReader.__init__(self)

    #### Seters and Geters ####

    @smproperty.xml(
        _helpers.getFileReaderXml(EsriGridReader.extensions,
                                  readerDescription=EsriGridReader.description)
    )
    def AddFileName(self, fname):
        EsriGridReader.AddFileName(self, fname)

    @smproperty.stringvector(name='DataName', default_values='Data')
    def SetDataName(self, dataName):
        EsriGridReader.SetDataName(self, dataName)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        EsriGridReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return EsriGridReader.GetTimestepValues(self)
Beispiel #4
0
class PVGeoSGeMSGridReader(SGeMSGridReader):
    def __init__(self):
        SGeMSGridReader.__init__(self)

    #### Seters and Geters ####
    @smproperty.xml(
        _helpers.getFileReaderXml("sgems dat geoeas gslib GSLIB txt SGEMS",
                                  readerDescription='GSLib Table'))
    def AddFileName(self, fname):
        SGeMSGridReader.AddFileName(self, fname)

    @smproperty.stringvector(name="Delimiter", default_values=" ")
    def SetDelimiter(self, deli):
        SGeMSGridReader.SetDelimiter(self, deli)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Use Tab Delimiter',
            command='SetUseTab',
            default_values=False,
            help=
            'A boolean to override the Delimiter_Field and use a Tab delimiter.'
        ))
    def SetUseTab(self, flag):
        SGeMSGridReader.SetUseTab(self, flag)

    @smproperty.intvector(name="SkipRows", default_values=0)
    def SetSkipRows(self, skip):
        SGeMSGridReader.SetSkipRows(self, skip)

    @smproperty.stringvector(name="Comments", default_values="#")
    def SetComments(self, identifier):
        SGeMSGridReader.SetComments(self, identifier)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        SGeMSGridReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return SGeMSGridReader.GetTimestepValues(self)

    @smproperty.doublevector(
        name="Spacing",
        default_values=[1.0, 1.0, 1.0],
    )
    def SetSpacing(self, dx, dy, dz):
        SGeMSGridReader.SetSpacing(self, dx, dy, dz)

    @smproperty.doublevector(
        name="Origin",
        default_values=[0.0, 0.0, 0.0],
    )
    def SetOrigin(self, ox, oy, oz):
        SGeMSGridReader.SetOrigin(self, ox, oy, oz)
Beispiel #5
0
class PVGeoDelimitedTextReader(DelimitedTextReader):
    def __init__(self):
        DelimitedTextReader.__init__(self)

    #### Seters and Geters ####
    @smproperty.xml(
        _helpers.getFileReaderXml(
            DelimitedTextReader.extensions,
            readerDescription=DelimitedTextReader.description))
    def AddFileName(self, fname):
        DelimitedTextReader.AddFileName(self, fname)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        DelimitedTextReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return DelimitedTextReader.GetTimestepValues(self)

    @smproperty.stringvector(name="Delimiter", default_values=" ")
    def SetDelimiter(self, deli):
        DelimitedTextReader.SetDelimiter(self, deli)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Use Split on Whitespace',
            command='SetSplitOnWhiteSpace',
            default_values=False,
            help=
            'A boolean to override the Delimiter_Field and use whitespace as delimiter.'
        ))
    def SetSplitOnWhiteSpace(self, flag):
        DelimitedTextReader.SetSplitOnWhiteSpace(self, flag)

    @smproperty.intvector(name="SkipRows", default_values=0)
    def SetSkipRows(self, skip):
        DelimitedTextReader.SetSkipRows(self, skip)

    @smproperty.stringvector(name="Comments", default_values="!")
    def SetComments(self, identifier):
        DelimitedTextReader.SetComments(self, identifier)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Has Titles',
            command='SetHasTitles',
            default_values=True,
            help=
            'A boolean for if the delimited file has header titles for the data arrays.'
        ))
    def SetHasTitles(self, flag):
        DelimitedTextReader.SetHasTitles(self, flag)
Beispiel #6
0
class PVGeoGSLibReader(GSLibReader):
    def __init__(self):
        GSLibReader.__init__(self)

    #### Seters and Geters ####
    # @smproperty.stringvector(name="FileNames", panel_visibility="advanced")
    # @smdomain.filelist()
    # @smhint.filechooser(extensions="sgems dat geoeas gslib GSLIB txt SGEMS", file_description="GSLib Tables")
    @smproperty.xml(
        _helpers.getFileReaderXml("sgems dat geoeas gslib GSLIB txt SGEMS",
                                  readerDescription='GSLib Table'))
    def AddFileName(self, fname):
        GSLibReader.AddFileName(self, fname)

    @smproperty.stringvector(name="Delimiter", default_values=" ")
    def SetDelimiter(self, deli):
        GSLibReader.SetDelimiter(self, deli)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Use Tab Delimiter',
            command='SetUseTab',
            default_values=False,
            help=
            'A boolean to override the Delimiter_Field and use a Tab delimiter.'
        ))
    def SetUseTab(self, flag):
        GSLibReader.SetUseTab(self, flag)

    @smproperty.intvector(name="SkipRows", default_values=0)
    def SetSkipRows(self, skip):
        GSLibReader.SetSkipRows(self, skip)

    @smproperty.stringvector(name="Comments", default_values="#")
    def SetComments(self, identifier):
        GSLibReader.SetComments(self, identifier)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        GSLibReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return GSLibReader.GetTimestepValues(self)

    @smproperty.xml(
        """<Property name="Print File Header" command="PrintFileHeader" panel_widget="command_button"/>"""
    )
    def PrintFileHeader(self):
        print(GSLibReader.GetFileHeader(self))
        return 1
Beispiel #7
0
class PVGeoGSLibReader(GSLibReader):
    def __init__(self):
        GSLibReader.__init__(self)

    #### Seters and Geters ####

    @smproperty.xml(
        _helpers.getFileReaderXml(GSLibReader.extensions,
                                  readerDescription=GSLibReader.description))
    def AddFileName(self, fname):
        GSLibReader.AddFileName(self, fname)

    @smproperty.stringvector(name="Delimiter", default_values=" ")
    def SetDelimiter(self, deli):
        GSLibReader.SetDelimiter(self, deli)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Use Split on Whitespace',
            command='SetSplitOnWhiteSpace',
            default_values=False,
            help=
            'A boolean to override the Delimiter_Field and use whitespace as delimiter.'
        ))
    def SetSplitOnWhiteSpace(self, flag):
        GSLibReader.SetSplitOnWhiteSpace(self, flag)

    @smproperty.intvector(name="SkipRows", default_values=0)
    def SetSkipRows(self, skip):
        GSLibReader.SetSkipRows(self, skip)

    @smproperty.stringvector(name="Comments", default_values="!")
    def SetComments(self, identifier):
        GSLibReader.SetComments(self, identifier)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        GSLibReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return GSLibReader.GetTimestepValues(self)

    @smproperty.xml(
        """<Property name="Print File Header" command="PrintFileHeader" panel_widget="command_button"/>"""
    )
    def PrintFileHeader(self):
        print(GSLibReader.GetFileHeader(self))
        return 1
Beispiel #8
0
class PVGeoSurferGridReader(SurferGridReader):
    def __init__(self):
        SurferGridReader.__init__(self)

    #### Seters and Geters ####

    @smproperty.xml(
        _helpers.getFileReaderXml("sgems dat geoeas gslib GSLIB txt SGEMS",
                                  readerDescription='GSLib Table'))
    def AddFileName(self, fname):
        SurferGridReader.AddFileName(self, fname)

    @smproperty.stringvector(name='DataName', default_values='Data')
    def SetDataName(self, dataName):
        SurferGridReader.SetDataName(self, dataName)
Beispiel #9
0
class PVGeoMadagascarReader(MadagascarReader):
    def __init__(self):
        MadagascarReader.__init__(self)

    #### Seters and Geters ####

    @smproperty.xml(
        _helpers.getFileReaderXml(
            MadagascarReader.extensions,
            readerDescription=MadagascarReader.description))
    def AddFileName(self, fname):
        MadagascarReader.AddFileName(self, fname)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        MadagascarReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return MadagascarReader.GetTimestepValues(self)

    @smproperty.xml(
        _helpers.getDropDownXml('Endian',
                                'SetEndian',
                                ['Native', 'Little-Endian', 'Big-Endian'],
                                help='This is the type memory endianness.'))
    def SetEndian(self, endian):
        MadagascarReader.SetEndian(self, endian)

    @smproperty.xml(
        _helpers.getDropDownXml('DataType',
                                'SetDataType',
                                ['Float64', 'Float32', 'Integer4'],
                                help='This is data type to read.'))
    def SetDataType(self, dtype):
        MadagascarReader.SetDataType(self, dtype)

    @smproperty.stringvector(name='DataName', default_values='Data')
    def SetDataName(self, dataName):
        MadagascarReader.SetDataName(self, dataName)
Beispiel #10
0
class PVGeoXYZTextReader(XYZTextReader):
    def __init__(self):
        XYZTextReader.__init__(self)

    #### Seters and Geters ####
    @smproperty.xml(
        _helpers.getFileReaderXml(XYZ_EXTS, readerDescription=XYZ_DESC))
    def AddFileName(self, fname):
        XYZTextReader.AddFileName(self, fname)

    @smproperty.doublevector(name="TimeDelta",
                             default_values=1.0,
                             panel_visibility="advanced")
    def SetTimeDelta(self, dt):
        XYZTextReader.SetTimeDelta(self, dt)

    @smproperty.doublevector(name="TimestepValues",
                             information_only="1",
                             si_class="vtkSITimeStepsProperty")
    def GetTimestepValues(self):
        """This is critical for registering the timesteps"""
        return XYZTextReader.GetTimestepValues(self)

    @smproperty.stringvector(name="Delimiter", default_values=" ")
    def SetDelimiter(self, deli):
        XYZTextReader.SetDelimiter(self, deli)

    @smproperty.xml(
        _helpers.getPropertyXml(
            name='Use Tab Delimiter',
            command='SetUseTab',
            default_values=False,
            help=
            'A boolean to override the Delimiter_Field and use a Tab delimiter.'
        ))
    def SetUseTab(self, flag):
        XYZTextReader.SetUseTab(self, flag)

    @smproperty.intvector(name="SkipRows", default_values=0)
    def SetSkipRows(self, skip):
        XYZTextReader.SetSkipRows(self, skip)

    @smproperty.stringvector(name="Comments", default_values="#")
    def SetComments(self, identifier):
        XYZTextReader.SetComments(self, identifier)
Beispiel #11
0
class PVGeoOMFReader(OMFReader):
    def __init__(self):
        OMFReader.__init__(self)

    #### Seters and Geters ####

    # TODO: check this to make sure not time varying
    @smproperty.xml(_helpers.getFileReaderXml(OMFReader.extensions, readerDescription=OMFReader.description))
    def AddFileName(self, fname):
        OMFReader.AddFileName(self, fname)


    # Array selection API is typical with readers in VTK
    # This is intended to allow ability for users to choose which arrays to
    # load. To expose that in ParaView, simply use the
    # smproperty.dataarrayselection().
    # This method **must** return a `vtkDataArraySelection` instance.
    @smproperty.dataarrayselection(name="Project Data")
    def GetDataSelection(self):
        return OMFReader.GetDataSelection(self)