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

John Zuhone jzuhone at gmail.com
Tue Jun 2 11:02:21 PDT 2015


Hi Dave,

Also, I know that you’re talking about the projection object itself, but for completeness, this was merged in yesterday:

https://bitbucket.org/yt_analysis/yt/pull-request/1593/export-fixedresolutionbuffers-as-datasets/ <https://bitbucket.org/yt_analysis/yt/pull-request/1593/export-fixedresolutionbuffers-as-datasets/>

Which takes an FRB and makes a dataset out of it. 

Best,

John

> On Jun 2, 2015, at 1:54 PM, Nathan Goldbaum <nathan12343 at gmail.com> wrote:
> 
> 
> 
> On Tue, Jun 2, 2015 at 8:21 AM, David Collins <dcollins4096 at gmail.com <mailto:dcollins4096 at gmail.com>> wrote:
> 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?
> 
> 
> This is buried a few layers deep in my code, but I use this to generate radial profiles from an image:
> 
> https://bitbucket.org/ngoldbaum/galaxy_analysis/src/eda50ae6dd8315bb23aab4baf2842f7e5faf4fa3/galanyl/galaxy_analyzer.py?at=default#cl-387 <https://bitbucket.org/ngoldbaum/galaxy_analysis/src/eda50ae6dd8315bb23aab4baf2842f7e5faf4fa3/galanyl/galaxy_analyzer.py?at=default#cl-387>
> 
> In lieu of a docstring on that function, 'data' is an image, 'weight' is a weight image (if you are doing a weighted profile), and x_bin_edges is a specification for bin edges that should be passed to np.histogram.
>  
> Thanks!
> d.
> 
> 
> 
> On Fri, Jan 16, 2015 at 10:31 PM, John ZuHone <jzuhone at gmail.com <mailto: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 <tel:617-253-2354>
> (m) 781-708-5004 <tel:781-708-5004>
> jzuhone at space.mit.edu <mailto:jzuhone at space.mit.edu>
> jzuhone at gmail.com <mailto:jzuhone at gmail.com>
> http://www.jzuhone.com <http://www.jzuhone.com/>
> 
> On Jan 16, 2015, at 8:34 PM, Ben Thompson <bthompson2090 at gmail.com <mailto: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 <mailto: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 <mailto: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 <mailto:yt-users at lists.spacepope.org>
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org <http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org>
>> 
>> 
>> 
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org <mailto:yt-users at lists.spacepope.org>
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org <http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org>
>> 
>> _______________________________________________
>> yt-users mailing list
>> yt-users at lists.spacepope.org <mailto:yt-users at lists.spacepope.org>
>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org <http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org>
> 
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org <mailto:yt-users at lists.spacepope.org>
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org <http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org>
> 
> 
> 
> 
> -- 
> -- Sent from a computer.
> 
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org <mailto:yt-users at lists.spacepope.org>
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org <http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org>
> 
> 
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org <mailto:yt-users at lists.spacepope.org>
> http://lists.spacepope.org/listinfo.cgi/yt-users-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/20150602/232dafa5/attachment.html>


More information about the yt-users mailing list