<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Yes there are a lot of afw packages, but I’m hoping you find you can focus on a few. The doxygen documentation is a good place to find out where a particular tasks lives (especially the page that lists each task). Many tasks are in pipe_tasks and meas_algorithms. A few tasks are in ip_diffim, ip_isr and other places. Camera-specific tasks are in obs_* packages.</div><div><br></div><div>Regards,</div><div><br></div><div>— Russell</div><div><br><div><div>On May 11, 2015, at 4:24 PM, Will Dawson <<a href="mailto:will@dawsonresearch.com">will@dawsonresearch.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html charset=windows-1252"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Russell,<div class=""><br class=""></div><div class="">I am comfortable with github but I am not entirely comfortable navigating the 10 pages of repositories in <a href="https://github.com/lsst" class="">https://github.com/lsst</a>, and glancing at lsst/afw isn’t comforting. With some guidance on which repo(s) to operate in this may be a workable solution though.</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Will</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On May 11, 2015, at 4:11 PM, Russell Owen <<a href="mailto:rowen@uw.edu" class="">rowen@uw.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="Content-Type" content="text/html charset=windows-1252" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I think it would be great if you were willing to improve the documentation. The simplest approach, if you are at all comfortable with github, is probably for you to fork the code on github and commit fixes to your fork, then submit a pull request. If not, then I imagine we can think of something simpler for you.<div class=""><br class=""></div><div class="">— Russell</div><div class=""><br class=""><div class=""><div class="">On May 11, 2015, at 3:50 PM, Will Dawson <<a href="mailto:will@dawsonresearch.com" class="">will@dawsonresearch.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite" class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class=""><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Jim / Robert,</div><div class=""><br class=""></div>I’ve been running everything from python so I guess I will stick to help(). Is there a way that I can help edit the documentation as I learn things? For example I could help add some meat to things like:<div class=""><br class=""></div><div class=""><pre style="box-sizing: border-box; overflow: auto; font-size: 14px; padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 17.000059127807617px; word-break: break-all; word-wrap: break-word; border: 0px; border-top-left-radius: 0px; border-top-right-radius: 0px; border-bottom-right-radius: 0px; border-bottom-left-radius: 0px; white-space: pre-wrap; vertical-align: baseline;" class="">reEstimateBackground
 |      Estimate the background again after final source detection?</pre><div class=""><br class=""></div><div class="">Although I completely understand if you don’t want people who are just learning things to be editing the help documentation.</div><div class=""><br class=""></div><div class="">Thanks again,</div><div class="">Will</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On May 11, 2015, at 3:13 PM, Jim Bosch <<a href="mailto:jbosch@astro.princeton.edu" class="">jbosch@astro.princeton.edu</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">The Doxygen is good for some things, but the configuration of Python code isn't one of them.  If you're running a command-line task, then Robert's suggestion is the way to go.  If not, I recommend just using Python's help() function on the config object - that should get you the list of options and some documentation for each of them.<div class=""><br class=""></div><div class="">Jim</div><div class=""><br class=""></div></div><div class="gmail_extra"><br class=""><div class="gmail_quote">On Mon, May 11, 2015 at 6:10 PM, Robert Lupton the Good <span dir="ltr" class=""><<a href="mailto:rhl@astro.princeton.edu" target="_blank" class="">rhl@astro.princeton.edu</a>></span> wrote:<br class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="auto" class=""><div class="">I don't know how you are running your task, but if it's using commandLineTask then </div><div class="">   --show=*[Bb]ackground* </div><div class="">should show all configuration parameters matching the glob. (Benighted [t]csh users will need to quote the pattern)<br class=""><br class="">        R</div><span class=""><div class=""><br class="">On 11 May 2015, at 18:00, Jim Bosch <<a href="mailto:jbosch@astro.princeton.edu" target="_blank" class="">jbosch@astro.princeton.edu</a>> wrote:<br class=""><br class=""></div></span><blockquote type="cite" class=""><div class=""><span class=""><div dir="ltr" class="">I think this should be just a matter of setting<div class=""><br class=""></div><div class=""><span style="font-size:12.8000001907349px" class="">detectSourcesConfig.reEstimateBackground = False</span><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><span style="font-size:12.8000001907349px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8000001907349px" class="">Jim</span></div><div class=""><span style="font-size:12.8000001907349px" class=""><br class=""></span></div><div class=""><span style="font-size:12.8000001907349px" class=""><br class=""></span></div></div></span><div class="gmail_extra"><br class=""><div class="gmail_quote"><span class="">On Mon, May 11, 2015 at 5:41 PM, Will Dawson <span dir="ltr" class=""><<a href="mailto:will@dawsonresearch.com" target="_blank" class="">will@dawsonresearch.com</a>></span> wrote:<br class=""></span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word" class=""><span class="">I am trying to use DM Stack detect and analyze in object in a small postage stamp (see attached example, log scale). I know I can use lsst.afw.detection.Threshold() with lsst.afw.detection.FootprintSet() to create a footprint for the detected object. But I also (first) tried lsst.meas.algorithms.SourceDetectionTask(config=detectSourcesConfig, "other args") with config set as:</span><div class=""><span class=""><br class=""><div class="">detectSourcesConfig   = measAlg.SourceDetectionConfig(thresholdType='value’)</div><div class="">or</div><div class="">detectSourcesConfig   = measAlg.SourceDetectionConfig(thresholdType='value',thresholdValue=0)</div><div class=""><br class=""></div><div class="">and got the error at the end of this email. I am not entirely sure how to parse this error statement, but if I had to guess: no objects are being detected because it is trying to estimate the background based on this stamp which contains primary just the object thus when it does image - background there is nothing above threshold left to detect. Or it chokes when trying to estimate the background.</div></span><div class=""><span class=""><div class=""><br class=""></div><div class="">Is there an option to run lsst.meas.algorithms.SourceDetectionTask with the background estimation/ subtraction process turned off? For example when detecting objects on an image that already has the background subtracted. Perhaps the only option is to stick with the detection.FootprintSet method. </div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Will</div></span><div class=""><br class=""><div class=""><br class=""></div><div class=""> <28x28stamp.png></div></div><div class=""><div class="h5"><div class=""><br class=""></div><div class=""><pre style="overflow:auto;font-size:14px;padding:0px;margin-top:0px;margin-bottom:0px;line-height:17.000059127807617px;word-break:break-all;word-wrap:break-word;border:0px;border-top-left-radius:0px;border-top-right-radius:0px;border-bottom-right-radius:0px;border-bottom-left-radius:0px;white-space:pre-wrap;vertical-align:baseline" class=""><span style="color:rgb(139,0,0)" class="">---------------------------------------------------------------------------</span>
<span style="color:rgb(139,0,0)" class="">InvalidParameterError</span>                     Traceback (most recent call last)
<span style="color:rgb(0,100,0)" class=""><ipython-input-66-d08d86b9540f></span> in <span style="color:rgb(70,130,180)" class=""><module><span style="color:rgb(0,0,139)" class="">()</span>
<span style="color:rgb(0,100,0)" class="">      2</span> <span style="color:rgb(139,0,0)" class=""># catalog atually stores stuff)</span><span style="color:rgb(0,0,139)" class=""></span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">      3</span> table   <span style="color:rgb(0,0,139)" class="">=</span> afwTable<span style="color:rgb(0,0,139)" class="">.</span>SourceTable<span style="color:rgb(0,0,139)" class="">.</span>make<span style="color:rgb(0,0,139)" class="">(</span>schema<span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">----> 4<span style="color:rgb(139,0,0)" class=""> </span>catalog <span style="color:rgb(0,0,139)" class="">=</span> detect<span style="color:rgb(0,0,139)" class="">.</span>makeSourceCatalog<span style="color:rgb(0,0,139)" class="">(</span>table<span style="color:rgb(0,0,139)" class="">,</span> exposure<span style="color:rgb(0,0,139)" class="">,</span> sigma<span style="color:rgb(0,0,139)" class="">=</span><span style="color:rgb(70,130,180)" class="">3</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>

<span class="">/Users/dawson/lsst/DarwinX86/pipe_base/10.0+2/python/lsst/pipe/base/timer.pyc</span> in <span style="color:rgb(70,130,180)" class="">wrapper<span style="color:rgb(0,0,139)" class="">(self, *args, **keyArgs)</span>
<span style="color:rgb(0,100,0)" class="">    116</span>         logInfo<span style="color:rgb(0,0,139)" class="">(</span>obj <span style="color:rgb(0,0,139)" class="">=</span> self<span style="color:rgb(0,0,139)" class="">,</span> prefix <span style="color:rgb(0,0,139)" class="">=</span> func<span style="color:rgb(0,0,139)" class="">.</span>__name__ <span style="color:rgb(0,0,139)" class="">+</span> <span style="color:rgb(0,0,139)" class="">"Start"</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">    117</span>         <span style="color:rgb(0,100,0)" class="">try</span><span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">--> 118<span style="color:rgb(139,0,0)" class="">             </span>res <span style="color:rgb(0,0,139)" class="">=</span> func<span style="color:rgb(0,0,139)" class="">(</span>self<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">*</span>args<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">**</span>keyArgs<span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span class="">    119</span>         <span class="">finally</span><span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class=""></span>
<span class="">    120</span>             logInfo<span style="color:rgb(0,0,139)" class="">(</span>obj <span style="color:rgb(0,0,139)" class="">=</span> self<span style="color:rgb(0,0,139)" class="">,</span> prefix <span style="color:rgb(0,0,139)" class="">=</span> func<span style="color:rgb(0,0,139)" class="">.</span>__name__ <span style="color:rgb(0,0,139)" class="">+</span> <span style="color:rgb(0,0,139)" class="">"End"</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>

<span class="">/Users/dawson/lsst/DarwinX86/meas_algorithms/10.0+2/python/lsst/meas/algorithms/detection.pyc</span> in <span style="color:rgb(70,130,180)" class="">run<span style="color:rgb(0,0,139)" class="">(self, table, exposure, doSmooth, sigma, clearMask)</span>
<span style="color:rgb(0,100,0)" class="">    313</span>             <span style="color:rgb(0,100,0)" class="">raise</span> ValueError<span style="color:rgb(0,0,139)" class="">(</span><span style="color:rgb(0,0,139)" class="">"Table has incorrect Schema"</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">    314</span>         fpSets = self.detectFootprints(exposure=exposure, doSmooth=doSmooth, sigma=sigma,
<span style="color:rgb(0,100,0)" class="">--> 315<span style="color:rgb(139,0,0)" class="">                                        clearMask=clearMask)
</span><span class="">    316</span>         sources <span style="color:rgb(0,0,139)" class="">=</span> afwTable<span style="color:rgb(0,0,139)" class="">.</span>SourceCatalog<span style="color:rgb(0,0,139)" class="">(</span>table<span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span class="">    317</span>         table<span style="color:rgb(0,0,139)" class="">.</span>preallocate<span style="color:rgb(0,0,139)" class="">(</span>fpSets<span style="color:rgb(0,0,139)" class="">.</span>numPos <span style="color:rgb(0,0,139)" class="">+</span> fpSets<span style="color:rgb(0,0,139)" class="">.</span>numNeg<span style="color:rgb(0,0,139)" class="">)</span> <span style="color:rgb(139,0,0)" class=""># not required, but nice</span><span style="color:rgb(0,0,139)" class=""></span>

<span class="">/Users/dawson/lsst/DarwinX86/pipe_base/10.0+2/python/lsst/pipe/base/timer.pyc</span> in <span style="color:rgb(70,130,180)" class="">wrapper<span style="color:rgb(0,0,139)" class="">(self, *args, **keyArgs)</span>
<span style="color:rgb(0,100,0)" class="">    116</span>         logInfo<span style="color:rgb(0,0,139)" class="">(</span>obj <span style="color:rgb(0,0,139)" class="">=</span> self<span style="color:rgb(0,0,139)" class="">,</span> prefix <span style="color:rgb(0,0,139)" class="">=</span> func<span style="color:rgb(0,0,139)" class="">.</span>__name__ <span style="color:rgb(0,0,139)" class="">+</span> <span style="color:rgb(0,0,139)" class="">"Start"</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">    117</span>         <span style="color:rgb(0,100,0)" class="">try</span><span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">--> 118<span style="color:rgb(139,0,0)" class="">             </span>res <span style="color:rgb(0,0,139)" class="">=</span> func<span style="color:rgb(0,0,139)" class="">(</span>self<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">*</span>args<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">**</span>keyArgs<span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span class="">    119</span>         <span class="">finally</span><span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class=""></span>
<span class="">    120</span>             logInfo<span style="color:rgb(0,0,139)" class="">(</span>obj <span style="color:rgb(0,0,139)" class="">=</span> self<span style="color:rgb(0,0,139)" class="">,</span> prefix <span style="color:rgb(0,0,139)" class="">=</span> func<span style="color:rgb(0,0,139)" class="">.</span>__name__ <span style="color:rgb(0,0,139)" class="">+</span> <span style="color:rgb(0,0,139)" class="">"End"</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>

<span class="">/Users/dawson/lsst/DarwinX86/meas_algorithms/10.0+2/python/lsst/meas/algorithms/detection.pyc</span> in <span style="color:rgb(70,130,180)" class="">detectFootprints<span style="color:rgb(0,0,139)" class="">(self, exposure, doSmooth, sigma, clearMask)</span>
<span style="color:rgb(0,100,0)" class="">    443</span>             fpSets<span style="color:rgb(0,0,139)" class="">.</span>background <span style="color:rgb(0,0,139)" class="">=</span> bkgd<span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">    444</span>             self<span style="color:rgb(0,0,139)" class="">.</span>log<span style="color:rgb(0,0,139)" class="">.</span>log<span style="color:rgb(0,0,139)" class="">(</span>self<span style="color:rgb(0,0,139)" class="">.</span>log<span style="color:rgb(0,0,139)" class="">.</span>INFO<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">"Resubtracting the background after object detection"</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">--> 445<span style="color:rgb(139,0,0)" class="">             </span>mi <span style="color:rgb(0,0,139)" class="">-=</span> bkgd<span style="color:rgb(0,0,139)" class="">.</span>getImageF<span style="color:rgb(0,0,139)" class="">(</span><span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span class="">    446</span>             <span class="">del</span> mi<span style="color:rgb(0,0,139)" class=""></span>
<span class="">    447</span> <span style="color:rgb(0,0,139)" class=""></span>

<span class="">/Users/dawson/lsst/DarwinX86/afw/10.0+3/python/lsst/afw/math/mathLib.pyc</span> in <span style="color:rgb(70,130,180)" class="">getImageF<span style="color:rgb(0,0,139)" class="">(self, *args)</span>
<span style="color:rgb(0,100,0)" class="">   5736</span>         getImageF<span style="color:rgb(0,0,139)" class="">(</span>Background self<span style="color:rgb(0,0,139)" class="">)</span> <span style="color:rgb(0,0,139)" class="">-</span><span style="color:rgb(0,0,139)" class="">></span> boost<span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class="">:</span>shared_ptr<span style="color:rgb(0,0,139)" class=""><</span> lsst<span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class="">:</span>afw<span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class="">:</span>image<span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class="">:</span>Image<span style="color:rgb(0,0,139)" class=""><</span> float <span style="color:rgb(0,0,139)" class="">></span> <span style="color:rgb(0,0,139)" class="">></span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">   5737</span>         """
<span style="color:rgb(0,100,0)" class="">-> 5738<span style="color:rgb(139,0,0)" class="">         <span style="color:rgb(0,100,0)" class="">return</span> _mathLib<span style="color:rgb(0,0,139)" class="">.</span>Background_getImageF<span style="color:rgb(0,0,139)" class="">(</span>self<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">*</span>args<span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">   5739</span> <span style="color:rgb(0,0,139)" class=""></span>
<span style="color:rgb(0,100,0)" class="">   5740</span>     <span style="color:rgb(0,100,0)" class="">def</span> getImageI<span style="color:rgb(0,0,139)" class="">(</span>self<span style="color:rgb(0,0,139)" class="">,</span> <span style="color:rgb(0,0,139)" class="">*</span>args<span style="color:rgb(0,0,139)" class="">)</span><span style="color:rgb(0,0,139)" class="">:</span><span style="color:rgb(0,0,139)" class=""></span>

<span class="">InvalidParameterError</span>: 
  File "src/math/<a href="http://interpolate.cc/" target="_blank" class="">Interpolate.cc</a>", line 60, in std::pair<std::vector<double>, std::vector<double> > lsst::afw::math::(anonymous namespace)::recenter(const std::vector<double> &, const std::vector<double> &)
    You must provide at least 1 point {0}
  File "src/math/<a href="http://backgroundmi.cc/" target="_blank" class="">BackgroundMI.cc</a>", line 196, in void lsst::afw::math::BackgroundMI::_setGridColumns(const Interpolate::Style, const lsst::afw::math::UndersampleStyle, const int, const std::vector<int> &) const
    setting _gridcolumns {1}
lsst::pex::exceptions::InvalidParameterError: 'You must provide at least 1 point {0}; setting _gridcolumns {1}'
</span></span></span></span></span></span></span></span></span></span></span></span></span></pre></div><div class=""><span style="color:rgb(70,130,180)" class=""><span style="color:rgb(0,100,0)" class=""><span style="color:rgb(70,130,180)" class=""><span style="color:rgb(0,100,0)" class=""><span style="color:rgb(70,130,180)" class=""><span style="color:rgb(0,100,0)" class=""><span style="color:rgb(70,130,180)" class=""><span style="color:rgb(0,100,0)" class=""><span style="color:rgb(70,130,180)" class=""><span style="color:rgb(0,100,0)" class=""><span style="color:rgb(70,130,180)" class=""><span style="color:rgb(0,100,0)" class=""><span style="color:rgb(139,0,0)" class=""><br class=""></span></span></span></span></span></span></span></span></span></span></span></span></span></div></div></div></div></div></div><div class=""><div class="h5"><br class="">_______________________________________________<br class="">
dm-users mailing list<br class="">
<a href="mailto:dm-users@lists.lsst.org" target="_blank" class="">dm-users@lists.lsst.org</a><br class="">
<a href="https://lists.lsst.org/mailman/listinfo/dm-users" target="_blank" class="">https://lists.lsst.org/mailman/listinfo/dm-users</a><br class=""></div></div></blockquote></div><br class=""></div>
</div></blockquote><div class=""><div class="h5"><blockquote type="cite" class=""><div class=""><span class="">_______________________________________________</span><br class=""><span class="">dm-users mailing list</span><br class=""><span class=""><a href="mailto:dm-users@lists.lsst.org" target="_blank" class="">dm-users@lists.lsst.org</a></span><br class=""><span class=""><a href="https://lists.lsst.org/mailman/listinfo/dm-users" target="_blank" class="">https://lists.lsst.org/mailman/listinfo/dm-users</a></span></div></blockquote></div></div></div></blockquote></div><br class=""></div>
</div></blockquote></div><br class=""></div></div></div>_______________________________________________<br class="">dm-users mailing list<br class=""><a href="mailto:dm-users@lists.lsst.org" class="">dm-users@lists.lsst.org</a><br class=""><a href="https://lists.lsst.org/mailman/listinfo/dm-users" class="">https://lists.lsst.org/mailman/listinfo/dm-users</a></blockquote></div><br class=""></div></div></div></blockquote></div><br class=""></div></div></blockquote></div><br></div></body></html>