Changeset 5910


Ignore:
Timestamp:
Nov 6, 2008, 4:29:25 PM (15 years ago)
Author:
rwilson
Message:

NumPy? conversion.

Location:
anuga_core/source_numpy_conversion/anuga/load_mesh
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • anuga_core/source_numpy_conversion/anuga/load_mesh/loadASCII.py

    r4903 r5910  
    5757
    5858from string import  find, rfind
    59 from Numeric import array, Float, Int16, Int32, Character,reshape, concatenate, take
     59import numpy
    6060from os.path import splitext
    6161
     
    644644    # in more detail.
    645645   
    646     IntType = Int32
     646    IntType = numpy.int32
    647647    #IntType = Int
    648648   
    649649    #
    650650    #the triangulation
    651     mesh['vertices'] = array(mesh['vertices']).astype(Float)
     651    mesh['vertices'] = numpy.array(mesh['vertices']).astype(numpy.float)
    652652    if mesh['vertex_attributes'] != None:
    653653        mesh['vertex_attributes'] = \
    654                array(mesh['vertex_attributes']).astype(Float)
    655     mesh['vertex_attribute_titles'] = array(mesh['vertex_attribute_titles']).astype(Character)
    656     mesh['segments'] = array(mesh['segments']).astype(IntType)
    657     mesh['segment_tags'] = array(mesh['segment_tags']).astype(Character)
    658     mesh['triangles'] = array(mesh['triangles']).astype(IntType)
    659     mesh['triangle_tags'] = array(mesh['triangle_tags']) #.astype(Character)
    660     mesh['triangle_neighbors'] = array(mesh['triangle_neighbors']).astype(IntType)
     654               numpy.array(mesh['vertex_attributes']).astype(numpy.float)
     655    mesh['vertex_attribute_titles'] = numpy.array(mesh['vertex_attribute_titles']).astype(numpy.character)
     656    mesh['segments'] = numpy.array(mesh['segments']).astype(IntType)
     657    mesh['segment_tags'] = numpy.array(mesh['segment_tags']).astype(numpy.character)
     658    mesh['triangles'] = numpy.array(mesh['triangles']).astype(IntType)
     659    mesh['triangle_tags'] = numpy.array(mesh['triangle_tags']) #.astype(numpy.character)
     660    mesh['triangle_neighbors'] = numpy.array(mesh['triangle_neighbors']).astype(IntType)
    661661   
    662662    #the outline
    663     mesh['points'] = array(mesh['points']).astype(Float)
    664     mesh['point_attributes'] = array(mesh['point_attributes']).astype(Float)
    665     mesh['outline_segments'] = array(mesh['outline_segments']).astype(IntType)
    666     mesh['outline_segment_tags'] = array(mesh['outline_segment_tags']).astype(Character)
    667     mesh['holes'] = array(mesh['holes']).astype(Float)
    668     mesh['regions'] = array(mesh['regions']).astype(Float)
    669     mesh['region_tags'] = array(mesh['region_tags']).astype(Character)
    670     mesh['region_max_areas'] = array(mesh['region_max_areas']).astype(Float)
     663    mesh['points'] = numpy.array(mesh['points']).astype(numpy.float)
     664    mesh['point_attributes'] = numpy.array(mesh['point_attributes']).astype(numpy.float)
     665    mesh['outline_segments'] = numpy.array(mesh['outline_segments']).astype(IntType)
     666    mesh['outline_segment_tags'] = numpy.array(mesh['outline_segment_tags']).astype(numpy.character)
     667    mesh['holes'] = numpy.array(mesh['holes']).astype(numpy.float)
     668    mesh['regions'] = numpy.array(mesh['regions']).astype(numpy.float)
     669    mesh['region_tags'] = numpy.array(mesh['region_tags']).astype(numpy.character)
     670    mesh['region_max_areas'] = numpy.array(mesh['region_max_areas']).astype(numpy.float)
    671671   
    672672    #mesh = mesh_dict2array(mesh)
     
    699699    if (mesh['vertices'].shape[0] > 0):
    700700        outfile.createDimension('num_of_vertices', mesh['vertices'].shape[0])
    701         outfile.createVariable('vertices', Float, ('num_of_vertices',
     701        outfile.createVariable('vertices', numpy.float, ('num_of_vertices',
    702702                                                   'num_of_dimensions'))
    703703        outfile.variables['vertices'][:] = mesh['vertices']
     
    709709                                    mesh['vertex_attribute_titles'].shape[1])
    710710            outfile.createVariable('vertex_attributes',
    711                                    Float,
     711                                   numpy.float,
    712712                                   ('num_of_vertices',
    713713                                    'num_of_vertex_attributes'))   
    714714            outfile.createVariable('vertex_attribute_titles',
    715                                    Character,
     715                                   numpy.character,
    716716                                   ( 'num_of_vertex_attributes',
    717717                                     'num_of_vertex_attribute_title_chars' ))
     
    732732                                    mesh['segment_tags'].shape[1])
    733733            outfile.createVariable('segment_tags',
    734                                    Character,
     734                                   numpy.character,
    735735                                   ('num_of_segments',
    736736                                    'num_of_segment_tag_chars'))
     
    755755                                    mesh['triangle_tags'].shape[1])
    756756            outfile.createVariable('triangle_tags',
    757                                    Character,
     757                                   numpy.character,
    758758                                   ('num_of_triangles',
    759759                                    'num_of_triangle_tag_chars'))
     
    765765    if (mesh['points'].shape[0] > 0):
    766766        outfile.createDimension('num_of_points', mesh['points'].shape[0])
    767         outfile.createVariable('points', Float, ('num_of_points',
     767        outfile.createVariable('points', numpy.float, ('num_of_points',
    768768                                                 'num_of_dimensions'))
    769769        outfile.variables['points'][:] = mesh['points']
     
    772772                                    mesh['point_attributes'].shape[1])
    773773            outfile.createVariable('point_attributes',
    774                                    Float,
     774                                   numpy.float,
    775775                                   ('num_of_points',
    776776                                    'num_of_point_attributes'))
     
    789789                                    mesh['outline_segment_tags'].shape[1])
    790790            outfile.createVariable('outline_segment_tags',
    791                                    Character,
     791                                   numpy.character,
    792792                                   ('num_of_outline_segments',
    793793                                    'num_of_outline_segment_tag_chars'))
     
    796796    if (mesh['holes'].shape[0] > 0):
    797797        outfile.createDimension('num_of_holes', mesh['holes'].shape[0])
    798         outfile.createVariable('holes', Float, ('num_of_holes',
     798        outfile.createVariable('holes', numpy.float, ('num_of_holes',
    799799                                                'num_of_dimensions'))
    800800        outfile.variables['holes'][:] = mesh['holes']
     
    802802    if (mesh['regions'].shape[0] > 0):
    803803        outfile.createDimension('num_of_regions', mesh['regions'].shape[0])
    804         outfile.createVariable('regions', Float, ('num_of_regions',
     804        outfile.createVariable('regions', numpy.float, ('num_of_regions',
    805805                                                  'num_of_dimensions'))
    806806        outfile.createVariable('region_max_areas',
    807                                Float,
     807                               numpy.float,
    808808                               ('num_of_regions',))
    809809        outfile.variables['regions'][:] = mesh['regions']
     
    813813                                    mesh['region_tags'].shape[1])
    814814            outfile.createVariable('region_tags',
    815                                    Character,
     815                                   numpy.character,
    816816                                   ('num_of_regions',
    817817                                    'num_of_region_tag_chars'))
     
    848848        mesh['vertices'] = fid.variables['vertices'][:]
    849849    except KeyError:
    850         mesh['vertices'] = array([])
     850        mesh['vertices'] = numpy.array([])
    851851    try:
    852852        mesh['vertex_attributes'] = fid.variables['vertex_attributes'][:]
     
    866866        mesh['segments'] = fid.variables['segments'][:]
    867867    except KeyError:
    868         mesh['segments'] = array([])
     868        mesh['segments'] = numpy.array([])
    869869    mesh['segment_tags'] =[]
    870870    try:
     
    879879        mesh['triangle_neighbors'] = fid.variables['triangle_neighbors'][:]
    880880    except KeyError:
    881         mesh['triangles'] = array([])
    882         mesh['triangle_neighbors'] = array([])
     881        mesh['triangles'] = numpy.array([])
     882        mesh['triangle_neighbors'] = numpy.array([])
    883883    mesh['triangle_tags'] =[]
    884884    try:
     
    904904        mesh['outline_segments'] = fid.variables['outline_segments'][:]
    905905    except KeyError:
    906         mesh['outline_segments'] = array([])
     906        mesh['outline_segments'] = numpy.array([])
    907907    mesh['outline_segment_tags'] =[]
    908908    try:
     
    916916        mesh['holes'] = fid.variables['holes'][:]
    917917    except KeyError:
    918         mesh['holes'] = array([])
     918        mesh['holes'] = numpy.array([])
    919919    try:
    920920        mesh['regions'] = fid.variables['regions'][:]
    921921    except KeyError:
    922         mesh['regions'] = array([])
     922        mesh['regions'] = numpy.array([])
    923923    mesh['region_tags'] =[]
    924924    try:
     
    932932        mesh['region_max_areas'] = fid.variables['region_max_areas'][:]
    933933    except KeyError:
    934         mesh['region_max_areas'] = array([])
     934        mesh['region_max_areas'] = numpy.array([])
    935935    #mesh[''] = fid.variables[''][:]
    936936     
     
    985985   
    986986def extent(points):
    987     points = array(points).astype(Float)
     987    points = numpy.array(points).astype(numpy.float)
    988988    max_x = min_x = points[0][0]
    989989    max_y = min_y = points[0][1]
     
    995995        if y > max_y: max_y = y
    996996        if y < min_y: min_y = y
    997     extent = array([[min_x,min_y],[max_x,min_y],[max_x,max_y],[min_x,max_y]])
     997    extent = numpy.array([[min_x,min_y],[max_x,min_y],[max_x,max_y],[min_x,max_y]])
    998998    #print "extent",extent
    999999    return extent
     
    10271027   
    10281028def point_atts2array(point_atts):
    1029     point_atts['pointlist'] = array(point_atts['pointlist']).astype(Float)
     1029    point_atts['pointlist'] = numpy.array(point_atts['pointlist']).astype(numpy.float)
    10301030   
    10311031    for key in point_atts['attributelist'].keys():
    1032         point_atts['attributelist'][key]= array(point_atts['attributelist'][key]).astype(Float)
     1032        point_atts['attributelist'][key]= numpy.array(point_atts['attributelist'][key]).astype(numpy.float)
    10331033    return point_atts
    10341034   
     
    10461046    return list of attribute titles, array of attributes
    10471047    """
    1048     point_attributes = array([]).astype(Float)
     1048    point_attributes = numpy.array([]).astype(numpy.float)
    10491049    keys = dic.keys()
    10501050    key = keys.pop(0)
    1051     point_attributes = reshape(dic[key],(dic[key].shape[0],1))
     1051    point_attributes = numpy.reshape(dic[key],(dic[key].shape[0],1))
    10521052    for key in keys:
    1053         #point_attributes = concatenate([point_attributes, dic[key]], axis=1)
    1054         reshaped = reshape(dic[key],(dic[key].shape[0],1))
    1055         point_attributes = concatenate([point_attributes, reshaped], axis=1)
     1053        #point_attributes = numpy.concatenate([point_attributes, dic[key]], axis=1)
     1054        reshaped = numpy.reshape(dic[key],(dic[key].shape[0],1))
     1055        point_attributes = numpy.concatenate([point_attributes, reshaped], axis=1)
    10561056    return dic.keys(), point_attributes
    10571057
     
    10601060    dict = point_atts2array(dict)
    10611061    #FIXME maybe the points data structure should become a class?
    1062     dict['pointlist'] = take(dict['pointlist'],indices_to_keep)
     1062    dict['pointlist'] = numpy.take(dict['pointlist'],indices_to_keep)
    10631063
    10641064    for key in dict['attributelist'].keys():
    1065         dict['attributelist'][key]= take(dict['attributelist'][key],
     1065        dict['attributelist'][key]= numpy.take(dict['attributelist'][key],
    10661066                                         indices_to_keep)
    10671067    return dict
     
    10741074   
    10751075    combined = {} 
    1076     combined['pointlist'] = concatenate((dict2['pointlist'],
     1076    combined['pointlist'] = numpy.concatenate((dict2['pointlist'],
    10771077                                         dict1['pointlist']),axis=0)   
    10781078    atts = {}   
    10791079    for key in dict2['attributelist'].keys():
    1080         atts[key]= concatenate((dict2['attributelist'][key],
     1080        atts[key]= numpy.concatenate((dict2['attributelist'][key],
    10811081                                dict1['attributelist'][key]), axis=0)
    10821082    combined['attributelist']=atts
  • anuga_core/source_numpy_conversion/anuga/load_mesh/test_loadASCII.py

    r5875 r5910  
    1010from os.path import splitext
    1111
    12 from Numeric import array, allclose, alltrue
    13    
     12import numpy
     13
    1414from anuga.load_mesh.loadASCII import *
    1515from anuga.coordinate_transforms.geo_reference import Geo_reference
     
    179179        #print "*(*("
    180180       
    181         self.failUnless(alltrue(array(meshDict['vertices'])  ==
    182                         array(loadedDict['vertices'])),
     181        self.failUnless(numpy.array(meshDict['vertices'])  ==
     182                        numpy.array(loadedDict['vertices']),
    183183                         'test_export_mesh_file failed. Test 1')
    184         self.failUnless(alltrue(array(meshDict['triangles'])  ==
    185                         array(loadedDict['triangles'])),
     184        self.failUnless(numpy.array(meshDict['triangles'])  ==
     185                        numpy.array(loadedDict['triangles']),
    186186                         'test_export_mesh_file failed. Test 2')
    187         self.failUnless(alltrue(array(meshDict['segments'])  ==
    188                         array(loadedDict['segments'])),
     187        self.failUnless(numpy.array(meshDict['segments'])  ==
     188                        numpy.array(loadedDict['segments']),
    189189                         'test_export_mesh_file failed. Test 3')
    190         self.failUnless(alltrue(array(meshDict['triangle_tags'])  ==
    191                         array(loadedDict['triangle_tags'])),
     190        self.failUnless(numpy.array(meshDict['triangle_tags'])  ==
     191                        numpy.array(loadedDict['triangle_tags']),
    192192                         'test_export_mesh_file failed. Test 4')
    193 
     193       
    194194        self.failUnless(meshDict['vertex_attributes']  ==
    195195                        loadedDict['vertex_attributes'],
    196196                         'test_export_mesh_file failed. Test 5')
    197         self.failUnless(alltrue(array(meshDict['triangle_neighbors'])  ==
    198                         array(loadedDict['triangle_neighbors'])),
     197        self.failUnless(numpy.array(meshDict['triangle_neighbors'])  ==
     198                        numpy.array(loadedDict['triangle_neighbors']),
    199199                         'test_export_mesh_file failed. Test 6')
    200         self.failUnless(alltrue(array(meshDict['segment_tags'])  ==
    201                         array(loadedDict['segment_tags'])),
     200        self.failUnless(numpy.array(meshDict['segment_tags'])  ==
     201                        numpy.array(loadedDict['segment_tags']),
    202202                         'test_export_mesh_file failed. Test 7')
    203         self.failUnless(alltrue(array(meshDict['vertex_attribute_titles'])  ==
    204                         array(loadedDict['vertex_attribute_titles'])),
     203        self.failUnless(numpy.array(meshDict['vertex_attribute_titles'])  ==
     204                        numpy.array(loadedDict['vertex_attribute_titles']),
    205205                         'test_export_mesh_file failed. Test 8')
    206         self.failUnless(alltrue(array(meshDict['geo_reference'])  ==
    207                         array(loadedDict['geo_reference'])),
     206        self.failUnless(numpy.array(meshDict['geo_reference'])  ==
     207                        numpy.array(loadedDict['geo_reference']),
    208208                         'test_export_mesh_file failed. Test 9')
    209209           
     
    439439                         
    440440    def check_mesh_dicts(self, loaded_dict, dict, fail_string ):
    441         assert allclose(array(loaded_dict['points']),
    442                         array(dict['points']))
     441        assert numpy.allclose(numpy.array(loaded_dict['points']),
     442                        numpy.array(dict['points']))
    443443                       
    444         assert allclose(array(loaded_dict['point_attributes']),
    445                         array(dict['point_attributes']))
    446         assert allclose(array(loaded_dict['outline_segments']),
    447                         array(dict['outline_segments']))
     444        assert numpy.allclose(numpy.array(loaded_dict['point_attributes']),
     445                        numpy.array(dict['point_attributes']))
     446        assert numpy.allclose(numpy.array(loaded_dict['outline_segments']),
     447                        numpy.array(dict['outline_segments']))
    448448       
    449449        self.failUnless(loaded_dict['outline_segment_tags']  ==
     
    452452       
    453453           
    454         assert allclose(array(loaded_dict['regions']),
    455                         array(dict['regions']))
    456                        
     454        assert numpy.allclose(numpy.array(loaded_dict['regions']),
     455                        numpy.array(dict['regions']))
    457456        self.failUnless(loaded_dict['region_tags']  ==
    458457                        dict['region_tags'],
    459458                        fail_string + ' failed!! Test 5')
    460459       
    461         assert allclose(array(loaded_dict['region_max_areas']),
    462                         array(dict['region_max_areas']))
     460        assert numpy.allclose(numpy.array(loaded_dict['region_max_areas']),
     461                        numpy.array(dict['region_max_areas']))
    463462 
    464         assert allclose(array(loaded_dict['holes']),
    465                         array(dict['holes']))
     463        assert numpy.allclose(numpy.array(loaded_dict['holes']),
     464                        numpy.array(dict['holes']))
    466465 
    467         assert allclose(array(dict['vertices']),
    468                         array(loaded_dict['vertices']))
     466        assert numpy.allclose(numpy.array(dict['vertices']),
     467                        numpy.array(loaded_dict['vertices']))
    469468 
    470         assert allclose(array(dict['triangles']),
    471                         array(loaded_dict['triangles']))
     469        assert numpy.allclose(numpy.array(dict['triangles']),
     470                        numpy.array(loaded_dict['triangles']))
    472471 
    473         assert allclose(array(dict['segments']),
    474                         array(loaded_dict['segments']))
     472        assert numpy.allclose(numpy.array(dict['segments']),
     473                        numpy.array(loaded_dict['segments']))
    475474        for ob, ldob in map(None,dict['triangle_tags'],
    476475                              loaded_dict['triangle_tags']):
    477             self.failUnless(ob == ldob,
     476            self.failUnless(ob  == ldob,
    478477                        fail_string + ' failed!! Test triangle_tags')
    479478        # A bit hacky
     
    484483                        fail_string + ' failed!! Test vertex_attributes')
    485484 
    486         assert allclose(array(dict['triangle_neighbors']),
    487                         array(loaded_dict['triangle_neighbors']))
     485        assert numpy.allclose(numpy.array(dict['triangle_neighbors']),
     486                        numpy.array(loaded_dict['triangle_neighbors']))
    488487
    489488        for seg, ldseg in map(None,dict['segment_tags'],
     
    492491                        fail_string + ' failed!! Test 8')
    493492        try:
    494             assert allclose(array(dict['vertex_attribute_titles']),
    495                             array(loaded_dict['vertex_attribute_titles']))
     493            assert numpy.allclose(numpy.array(dict['vertex_attribute_titles']),
     494                            numpy.array(loaded_dict['vertex_attribute_titles']))
    496495        except TypeError:
    497             self.failUnless(alltrue(array(loaded_dict['vertex_attribute_titles']) == array(dict['vertex_attribute_titles'])),
     496            self.failUnless(numpy.array(loaded_dict['vertex_attribute_titles'])  ==
     497                        numpy.array(dict['vertex_attribute_titles']),
    498498                        fail_string + ' failed!! Test 8')
    499499        try:   
Note: See TracChangeset for help on using the changeset viewer.