I think my first guess attempt was off, for a 8x8 projection I got
proj2['x']/pf.units['cm']*8 = proj2['px']
so I think the px is center x coordinate of each pixel in the projection.
From
G.S.
On Mon, Aug 19, 2013 at 11:30 PM, Geoffrey So
Hi, I just tried your script on a small enzo dataset of 64 cube in size
" 1. What exactly is returned in proj2? Why does it span from 0. to 1. when I specified source=cube?"
- proj2['Density'] got values of a 2D matrix showing the results of the unweighted projection of 'Density' along z in the x,y plane, in my case the projection was 2x2 pixels. I think the reason it span from 0 to 1 is because you ran a simulation with normalized code units the left edge being 0 and right edge being 1.
"2. I also tried 'data_source=cube' instead of 'source=cube'. It did not raise any error, and returned something different: array of same shape, but with different data values. Is this keyword also used for projection object? Is there a consistent difference between the two keywords in yt?"
- I tried
pf.h.proj(2, 'Density', center=center, data_source=cube) and got: KeyError: 'No field named px'
I'm not familiar with the different versions of yt so if you can reply with the results of
yt instinfo I'm sure someone more knowledgable can pinpoint the version you're using and come up with why there's a discrepancy (I'm using an slightly outdated developer's version). I could be wrong so someone please correct me, but if I recall correctly I think the data_source newer form for specifying the input in the newer ProjectionPlot API.
"3. I could not find documentation on some fields like 'px', 'py' that seem to be generated for certain data containers (e.g., 't' for ray objects). Is there an exhaustive list of such fields in the documentation?"
- You might have gotten different px, py because you were able to do a different data_source, if you left it with source=cube, what I got in return for >proj2['px'] and >proj2['py'], were the x y edges of cells that are in the projection proj2 in the normalized code units.
help(proj2) revealed that proj2 is an 'AMRProj' object, putting it into the search in
- doing a the documentation revealed the API page for that base object at the following link
http://yt-project.org/doc/api/generated/yt.data_objects.data_containers.AMRP... from there I only see 'source' as a kwarg and not data_source, so that's probably why I'm getting an error when I tried it.
proj2.fields
- doing a lists the different fields, some like x, dx are in cgs, and px and pdx are in your simulation code units, in this case normalized to 1. I believe the x, dx are the cell-center, and cell-center-distance. I'm not sure about px, pdx, but looking at the values (I changed halfwidth=0.05 to have a bigger than 2x2 projection to play with), I'm going to guess px is the distance of each cell to the center of the projection parallel to x, and pdx is the x-spacing between each cell center.
Hope this helps.
From G.S.
PS. The documentation is being actively improved upon by the developers, so I believe feedback are always welcomed.
On Mon, Aug 19, 2013 at 9:22 PM, Semyeong Oh
wrote: Hi all,
I'm new to yt. I have questions about making projections of certain region, and inspecting the data returned.
I made a cube as follows:
import pylab as pl
center = [0.5, 0.5, 0.5] halfwidth = 0.005 cube = pf.h.region(center, center-pl.ones(3)*halfwidth, center+pl.ones(3)*halfwidth, ['Density'])
print min(cube['x']), max(cube['x']) 0.494873046875 0.505126953125
When I print cube['x'].shape, I get (10728,). I tried to make a projection of this cube along z-axis as follows:
proj2 = pf.h.proj(2, 'Density', center=center, source=cube)
But I could not understand what is returned.
print min(proj2['p x']), max(proj2['py']), proj2['px'].shape 0.00390625 0.99609375 (19648,)
print proj2['Density'] [ 0. 0. 0. ..., 0. 0. 0.]
My questions are: 1. What exactly is returned in proj2? Why does it span from 0. to 1. when I specified source=cube?
2. I also tried 'data_source=cube' instead of 'source=cube'. It did not raise any error, and returned something different: array of same shape, but with different data values. Is this keyword also used for projection object? Is there a consistent difference between the two keywords in yt?
3. I could not find documentation on some fields like 'px', 'py' that seem to be generated for certain data containers (e.g., 't' for ray objects). Is there an exhaustive list of such fields in the documentation?
Thanks in advance.
Semyeong
_______________________________________________ yt-users mailing list yt-users@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org