[yt-users] Camera & HomogenizedVolume

Britton Smith brittonsmith at gmail.com
Tue Nov 23 14:43:43 PST 2010


Hi guys,

I was recently trying to render some derived fields that can have some zero
values in them, and this was giving me seg faults as well in seemingly the
same place.  I went into the definition of the field and put in nonzero, but
quite small, floor value and this went away.

Britton

On Tue, Nov 23, 2010 at 5:30 PM, Matthew Turk <matthewturk at gmail.com> wrote:

> Hi Stella,
>
> It looks to me like the amr_kdtree did not, in fact, retain API
> compatibility with the old mechanism for grid homogenization.  I took
> have seen segfaults from the casting segment, but I believed them to
> be a result of a poor choice in field tables, as I was actually
> projecting some odd derived quantities.  Evidently this was not the
> case, and there is an underlying problem.
>
> To work around this, I suggest you use the old version.  To do this,
> you can either supply a volume (using HomogenizedVolume, as in the
> past) or supply the keyword argument use_kd=False when creating the
> camera object.  The latter is probably easier.
>
> Let me know if this *still* gives you problems.  I'm sorry that this
> has been a hassle.
>
> -Matt
>
> On Tue, Nov 23, 2010 at 4:30 PM, Stella Offner <soffner at cfa.harvard.edu>
> wrote:
> > Hi Matt,
> >
> > Thanks, again!  Now a new error: I called camera with a log_fields
> argument,
> > but it seems that kd tree code does not recognize this. Sadly, if I
> bi-pass
> > this by not using the log field, the code seg faults right after 'About
> to
> > cast'. This last thing could just be my script. Anyway, I'm using the
> > latest, rather than the stable version, which maybe I should use instead.
> >
> >
> > AttributeError                            Traceback (most recent call
> last)
> >
> > /n/home05/soffner/yt-x86_64/src/yt-hg/scripts/iyt in <module>()
> >    140                 cam.zoom(1.0)
> >    141     #take a picture
> > --> 142                 vals = cam.snapshot()
> >    143                 max = vals.max()
> >    144                 print "Max= ", max, "Min= ", vals.min()
> >
> >
> /n/home05/soffner/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.pyc
> > in snapshot(self, fn)
> >    324         tfp = TransferFunctionProxy(self.transfer_function) #
> Reset
> > it every time
> >    325         tfp.ns = self.sub_samples
> > --> 326         self.volume.initialize_source()
> >    327         if self.use_kd:
> >    328             self.volume.reset_cast()
> >
> >
> /n/home05/soffner/yt-x86_64/src/yt-hg/yt/utilities/amr_kdtree/amr_kdtree.pyc
> > in initialize_source(self)
> >    773     def initialize_source(self):
> >    774         if self.tree_type is 'domain':
> > --> 775             self.get_bricks()
> >    776
> >    777     def kd_ray_cast(self,image, tfp, vector_plane, back_center,
> > front_center):
> >
> >
> /n/home05/soffner/yt-x86_64/src/yt-hg/yt/utilities/amr_kdtree/amr_kdtree.pyc
> > in get_bricks(self)
> >    345                 for i,field in enumerate(self.fields):
> >    346                     vcd =
> >
> current_node['grid'].get_vertex_centered_data(field,smoothed=True,no_ghost=self.no_ghost).astype('float64')
> > --> 347                     if self.log_field[i]: vcd = na.log10(vcd)
> >    348                     dds.append(vcd)
> >    349                 current_saved_grids.append(current_node['grid'])
> >
> > AttributeError: 'AMRKDTree' object has no attribute 'log_field'
> > WARNING: Failure executing file:
> > </n/home05/soffner/ytorionlib/ytwindmovie.py>
> >
> >
> > On Nov 23, 2010, at 3:51 PM, Matthew Turk wrote:
> >
> >> Hi Stella,
> >>
> >> You're right, that code was not using the correct parameters.  I have
> >> corrected it and pushed a new changeset.
> >>
> >> -Matt
> >>
> >> PS For what it's worth, this doesn't seem to be related to Mike's
> >> problem from the other thread, which I will defer to the author of the
> >> amr_kdtree module, Sam Skillman.  :)
> >>
> >> On Tue, Nov 23, 2010 at 3:49 PM, Stella Offner <soffner at cfa.harvard.edu
> >
> >> wrote:
> >>>
> >>> Hi Matt,
> >>>
> >>> Thanks! That got me past the camera-specific error. However, I am
> running
> >>> into an error in amr_kdtree, which has a call in the old form to
> >>> pf['DomainLeftEdge']:
> >>>
> >>> KeyError                                  Traceback (most recent call
> >>> last)
> >>>
> >>> /n/home05/soffner/yt-x86_64/src/yt-hg/scripts/iyt in <module>()
> >>>   135                 cam = pf.h.camera(c, L, W, (Nvec,Nvec),
> >>>   136                         transfer_function = tf, pf = pf,
> >>> fields=["log_den"],
> >>> --> 137                         north_vector = north)
> >>>   138                 cam.zoom(1.0)
> >>>   139     #take a picture
> >>>
> >>>
> >>>
> /n/home05/soffner/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.pyc
> >>> in __init__(self, center, normal_vector, width, resolution,
> >>> transfer_function, north_vector, steady_north, volume, fields,
> >>> log_fields,
> >>> sub_samples, pf, use_kd, l_max, no_ghost, tree_type)
> >>>   193             if self.use_kd:
> >>>   194                 volume = AMRKDTree(self.pf, l_max=l_max,
> >>> fields=self.fields, no_ghost=no_ghost, tree_type=tree_type,
> >>> --> 195                                    log_fields = log_fields)
> >>>   196             else:
> >>>   197                 volume = HomogenizedVolume(fields, pf = self.pf,
> >>>
> >>>
> >>>
> /n/home05/soffner/yt-x86_64/src/yt-hg/yt/utilities/amr_kdtree/amr_kdtree.pyc
> >>> in __init__(self, pf, l_max, le, re, fields, no_ghost, tree_type,
> >>> log_fields)
> >>>   271
> >>>   272         if le is None:
> >>> --> 273             self.domain_left_edge = pf['DomainLeftEdge']
> >>>   274         else:
> >>>   275             self.domain_left_edge = le
> >>>
> >>> /n/home05/soffner/yt-x86_64/src/yt-hg/yt/data_objects/static_output.pyc
> >>> in
> >>> __getitem__(self, key)
> >>>   113                   self.conversion_factors]:
> >>>   114             if key in d: return d[key]
> >>> --> 115         raise KeyError(key)
> >>>   116
> >>>   117     def keys(self):
> >>>
> >>> KeyError: 'DomainLeftEdge'
> >>> WARNING: Failure executing file:
> >>> </n/home05/soffner/ytorionlib/ytwindmovie.py>
> >>>
> >>>
> >>> On Nov 23, 2010, at 3:32 PM, Matthew Turk wrote:
> >>>
> >>>> Hi Stella,
> >>>>
> >>>> I've just pushed a change to include Camera and HomogenizedVolume in
> >>>> the yt.mods import.  I also wanted to note that you can get a camera
> >>>> by doing:
> >>>>
> >>>> pf.h.camera
> >>>>
> >>>> and that I think unless you're doing something clever, you may no
> >>>> longer need to generate a HomogenizedVolume by hand.  I think by
> >>>> default Camera will use the kD-tree, now, so you should be set just
> >>>> specifying the parameters for the rendering to pf.h.camera, and not
> >>>> the volume itself.
> >>>>
> >>>> Let me know if you run into any more problems!
> >>>>
> >>>> -Matt
> >>>>
> >>>> On Tue, Nov 23, 2010 at 3:28 PM, Stella Offner <
> soffner at cfa.harvard.edu>
> >>>> wrote:
> >>>>>
> >>>>> Hi,
> >>>>>
> >>>>>  I updated yt to the new release, and now I'm getting 'NameError:
> name
> >>>>> 'Camera' is not defined' for Camera and HomogenizedVolume (these were
> >>>>> both
> >>>>> part of the volume_rendering extension previously). Did these get
> >>>>> renamed
> >>>>> or
> >>>>> do I need to import something else?
> >>>>>
> >>>>> Thanks!
> >>>>> Stella
> >>>>> _______________________________________________
> >>>>> yt-users mailing list
> >>>>> yt-users at lists.spacepope.org
> >>>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >>>>>
> >>>> _______________________________________________
> >>>> yt-users mailing list
> >>>> yt-users at lists.spacepope.org
> >>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >>>
> >>> _______________________________________________
> >>> yt-users mailing list
> >>> yt-users at lists.spacepope.org
> >>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >>>
> >> _______________________________________________
> >> yt-users mailing list
> >> yt-users at lists.spacepope.org
> >> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >
> >
> >
> >
> >
> > _______________________________________________
> > yt-users mailing list
> > yt-users at lists.spacepope.org
> > http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
> >
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20101123/d6ba94ad/attachment.html>


More information about the yt-users mailing list