[LSST|dm-users 645] Re: Detection and Measurement of Postage Stamp

Chris Walter chris.walter at duke.edu
Mon May 11 17:13:34 PDT 2015


Also,  Andy just made this which can help a bit:

http://dm.lsst.org/browse/

-Chris

> On May 12, 2015, at 8:24 AM, Will Dawson <will at dawsonresearch.com> wrote:
> 
> Russell,
> 
> I am comfortable with github but I am not entirely comfortable navigating the 10 pages of repositories in https://github.com/lsst, 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.
> 
> Thanks,
> Will
> 
>> On May 11, 2015, at 4:11 PM, Russell Owen <rowen at uw.edu> wrote:
>> 
>> 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.
>> 
>> — Russell
>> 
>> On May 11, 2015, at 3:50 PM, Will Dawson <will at dawsonresearch.com> wrote:
>> 
>>> Jim / Robert,
>>> 
>>> 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:
>>> 
>>> reEstimateBackground
>>>  |      Estimate the background again after final source detection?
>>> 
>>> 
>>> Although I completely understand if you don’t want people who are just learning things to be editing the help documentation.
>>> 
>>> Thanks again,
>>> Will
>>> 
>>>> On May 11, 2015, at 3:13 PM, Jim Bosch <jbosch at astro.princeton.edu> wrote:
>>>> 
>>>> 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.
>>>> 
>>>> Jim
>>>> 
>>>> 
>>>> On Mon, May 11, 2015 at 6:10 PM, Robert Lupton the Good <rhl at astro.princeton.edu> wrote:
>>>> I don't know how you are running your task, but if it's using commandLineTask then 
>>>>    --show=*[Bb]ackground* 
>>>> should show all configuration parameters matching the glob. (Benighted [t]csh users will need to quote the pattern)
>>>> 
>>>>         R
>>>> 
>>>> On 11 May 2015, at 18:00, Jim Bosch <jbosch at astro.princeton.edu> wrote:
>>>> 
>>>>> I think this should be just a matter of setting
>>>>> 
>>>>> detectSourcesConfig.reEstimateBackground = False
>>>>> 
>>>>> 
>>>>> 
>>>>> Jim
>>>>> 
>>>>> 
>>>>> 
>>>>> On Mon, May 11, 2015 at 5:41 PM, Will Dawson <will at dawsonresearch.com> wrote:
>>>>> 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:
>>>>> 
>>>>> detectSourcesConfig   = measAlg.SourceDetectionConfig(thresholdType='value’)
>>>>> or
>>>>> detectSourcesConfig   = measAlg.SourceDetectionConfig(thresholdType='value',thresholdValue=0)
>>>>> 
>>>>> 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.
>>>>> 
>>>>> 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. 
>>>>> 
>>>>> Thanks,
>>>>> Will
>>>>> 
>>>>> 
>>>>>  <28x28stamp.png>
>>>>> 
>>>>> ---------------------------------------------------------------------------
>>>>> InvalidParameterError
>>>>>                      Traceback (most recent call last)
>>>>> 
>>>>> <ipython-input-66-d08d86b9540f> in <module>()
>>>>>       2 # catalog atually stores stuff)
>>>>>       3 table   = afwTable.SourceTable.make(schema)
>>>>> ----> 4 catalog = detect.makeSourceCatalog(table, exposure, sigma=3)
>>>>> 
>>>>> 
>>>>> 
>>>>> /Users/dawson/lsst/DarwinX86/pipe_base/10.0+2/python/lsst/pipe/base/timer.pyc in wrapper(self, *args, **keyArgs)
>>>>>     116         logInfo(obj = self, prefix = func.__name__ + "Start")
>>>>>     117         try:
>>>>> --> 118             res = func(self, *args, **keyArgs)
>>>>>     119         finally:
>>>>>     120             logInfo(obj = self, prefix = func.__name__ + "End")
>>>>> 
>>>>> 
>>>>> 
>>>>> /Users/dawson/lsst/DarwinX86/meas_algorithms/10.0+2/python/lsst/meas/algorithms/detection.pyc in run(self, table, exposure, doSmooth, sigma, clearMask)
>>>>>     313             raise ValueError("Table has incorrect Schema")
>>>>>     314
>>>>>          fpSets = self.detectFootprints(exposure=exposure, doSmooth=doSmooth, sigma=sigma,
>>>>> 
>>>>> --> 315
>>>>>                                         clearMask=clearMask)
>>>>> 
>>>>>     316         sources = afwTable.SourceCatalog(table)
>>>>>     317         table.preallocate(fpSets.numPos + fpSets.numNeg) # not required, but nice
>>>>> 
>>>>> 
>>>>> 
>>>>> /Users/dawson/lsst/DarwinX86/pipe_base/10.0+2/python/lsst/pipe/base/timer.pyc in wrapper(self, *args, **keyArgs)
>>>>>     116         logInfo(obj = self, prefix = func.__name__ + "Start")
>>>>>     117         try:
>>>>> --> 118             res = func(self, *args, **keyArgs)
>>>>>     119         finally:
>>>>>     120             logInfo(obj = self, prefix = func.__name__ + "End")
>>>>> 
>>>>> 
>>>>> 
>>>>> /Users/dawson/lsst/DarwinX86/meas_algorithms/10.0+2/python/lsst/meas/algorithms/detection.pyc in detectFootprints(self, exposure, doSmooth, sigma, clearMask)
>>>>>     443             fpSets.background = bkgd
>>>>>     444             self.log.log(self.log.INFO, "Resubtracting the background after object detection")
>>>>> --> 445             mi -= bkgd.getImageF()
>>>>>     446             del mi
>>>>>     447 
>>>>> 
>>>>> 
>>>>> 
>>>>> /Users/dawson/lsst/DarwinX86/afw/10.0+3/python/lsst/afw/math/mathLib.pyc in getImageF(self, *args)
>>>>>    5736         getImageF(Background self) -> boost::shared_ptr< lsst::afw::image::Image< float > >
>>>>>    5737
>>>>>          """
>>>>> 
>>>>> -> 5738         return _mathLib.Background_getImageF(self, *args)
>>>>>    5739 
>>>>>    5740     def getImageI(self, *args):
>>>>> 
>>>>> 
>>>>> 
>>>>> InvalidParameterError
>>>>> : 
>>>>>   File "src/math/
>>>>> Interpolate.cc
>>>>> ", 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/
>>>>> BackgroundMI.cc
>>>>> ", 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}'
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> dm-users mailing list
>>>>> dm-users at lists.lsst.org
>>>>> https://lists.lsst.org/mailman/listinfo/dm-users
>>>>> 
>>>>> _______________________________________________
>>>>> dm-users mailing list
>>>>> dm-users at lists.lsst.org
>>>>> https://lists.lsst.org/mailman/listinfo/dm-users
>>>> 
>>> 
>>> _______________________________________________
>>> dm-users mailing list
>>> dm-users at lists.lsst.org
>>> https://lists.lsst.org/mailman/listinfo/dm-users
>> 
> 
> _______________________________________________
> dm-users mailing list
> dm-users at lists.lsst.org
> https://lists.lsst.org/mailman/listinfo/dm-users



More information about the dm-users mailing list