[yt-users] Profile plot of a 2d projection FRB object

David Collins dcollins4096 at gmail.com
Tue Jun 2 08:21:21 PDT 2015


Hi, Everybody--

This was discussed a while back, but I wanted to further clarify, and
possibly mooch a script or two off y'all.

I'd like a PhasePlot from a projected region.  Earlier FRBs were discussed;
has anyone successfully done the same on a YTQuadTreeProj?  I'd like to
retain all the high resolution data, if possible.

Cameron, back in Jan you mentioned you had a script.  Did you manage to
track it down, and/or would you be willing to send it my way?

Thanks!
d.



On Fri, Jan 16, 2015 at 10:31 PM, John ZuHone <jzuhone at gmail.com> wrote:

> This is a bit of a long way around, but you could write the FRB to a FITS
> file and read it in as a dataset. You would get the coordinate system,
> units, etc., and the whole YT machinery.
>
> Use the export_fits method:
>
> my_frb.export_fits("myfile.fits", fields)
>
> Then:
>
> ds = yt.load("my_file.fits")
>
> I'm not at a computer so I don't remember the exact signature, but it
> should be in the code and you can check using help(my_frb.export_fits). If
> you're interested I can write back with more info later.
>
> The other advantage of this is that you can store the data to disk. You'll
> have to install the AstroPy package.
>
> Kavli Center for Astrophysics and Space Research
> Massachusetts Institute of Technology
> 77 Massachusetts Ave., 37-582G
> Cambridge, MA 02139
> (w) 617-253-2354
> (m) 781-708-5004
> jzuhone at space.mit.edu
> jzuhone at gmail.com
> http://www.jzuhone.com
>
> On Jan 16, 2015, at 8:34 PM, Ben Thompson <bthompson2090 at gmail.com> wrote:
>
> Hey guys.
>
> I have a solution together for myself involving the new
> particle_position_relative_[xyz] fields and multiple instances of
> np.histogram and np.linspace which seems to do the trick.
>
> Although I would not complain if a piece of code that would be more native
> to the inner workings of YT existed that made use of the FRB data objects
> :). So that would be very nice Cameron. Don't feel the need to rush with it
> though, as I made a numpy solution for myself. But I would be interested to
> see that code.
>
> Ben
> On 17 Jan 2015 01:27, "Britton Smith" <brittonsmith at gmail.com> wrote:
>
>> Hi Ben,
>>
>> I seem to recall people on this list doing similar things in the past
>> with their own external code.  Does anyone still have their 2D radial
>> profile code around anymore?
>>
>> Would it perhaps work to create a uniform grid dataset from an FRB array?
>>
>> Britton
>>
>> On Tue, Jan 13, 2015 at 12:49 PM, Ben Thompson <bthompson2090 at gmail.com>
>> wrote:
>>
>>> Hello everyone.
>>>
>>> I was wondering if anyone has had experience with producing a profile
>>> plot from a 2d projection object (FRB object).
>>>
>>> Essentially, what I am trying to do is plot the stellar surface density
>>> of a galaxy as a function of radius.
>>>
>>> This is achieved by doing the following from a disk YT object called
>>> cylinder (in which the origional simulation object is called shot)
>>>
>>> center = cylinder.get_field_parameter("center")
>>> normal = cylinder.get_field_parameter("normal")
>>> image_width = (100,"kpc")
>>> three_image_width = YTArray((image_width[0], image_width[0],
>>> image_width[0]),image_width[1])
>>> left = center - image_width
>>> right = center + image_width
>>> region = shot.region(center, left, right)
>>>
>>> proj =
>>> yt.ProjectionPlot(cylinder.ds,"z",[("deposit","stars_density")],center=center,width=image_width,data_source=region,axes_unit="kpc")
>>>
>>> the error arrises here
>>>
>>> prof =
>>> yt.create_profile(proj,bin_fields="cylindrical_r",fields=[("deposit","stars_density")],n_bins=128,weight_field=None
>>> )
>>>
>>> where I get the error
>>>
>>>
>>> /gpfs/home/........./profiles.pyc in create_profile(data_source,
>>> bin_fields, fields, n_bins, extrema, logs, units, weight_field,
>>> accumulation, fractional)
>>>    1304     else:
>>>    1305         raise NotImplementedError
>>> -> 1306     bin_fields = data_source._determine_fields(bin_fields)
>>>    1307     fields = data_source._determine_fields(fields)
>>>    1308     if units is not None:
>>>
>>> AttributeError: 'FixedResolutionBuffer' object has no attribute
>>> '_determine_fields'
>>>
>>> Any ideas how to get around this error?
>>>
>>>
>>> Also some other things to add as a postscript. Since how the projection
>>> works, if I provide weights=None as a keyword argument within the
>>> ProjectionPlot object, I get a surface density (g/cm^2). But also a
>>> "cylindrical_r" in cm^2 as well. I *think* the way to get around this is to
>>> do another projection where weights="ones", get the radius values out of
>>> that profile.. and then in matplotlib, useing the surface density array
>>> from the former profile, and the radius bin array from the latter...
>>> Produce a plot of the surface density as a function of radius from those
>>> two arrays (I might check by hand afterwards to see if this does the
>>> trick). This seems kinda convoluted so I am wondering if there is an easier
>>> way than this.
>>>
>>>
>>>
>>> _______________________________________________
>>> 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
>
>


-- 
-- Sent from a computer.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20150602/d3a499a8/attachment.htm>


More information about the yt-users mailing list