Tickets Addressed in Spring 2018 Release (v15_0)

  • DM-4891: Upgrade doxygen to latest version [base]
  • DM-5922: Rework camera geometry to use the replacement for XYTransform [afw, astshim, meas_algorithms, meas_astrom, obs_base, obs_cfht, obs_decam, obs_lsstSim, obs_monocam, obs_sdss, obs_subaru, obs_test, pipe_tasks]
  • DM-6965: Record variance rescaling in coaddition [pipe_drivers, pipe_tasks]
  • DM-7268: Record source measurement time in the metadata [ip_diffim, meas_base]
  • DM-8015: VisitInfo repr() and str() should print a useful summary of contents [afw]
  • DM-8432: Empty Mapper location templates are not detected [obs_base]
  • DM-9147: Implement global sky subtraction [ctrl_pool, obs_base, obs_subaru, pipe_drivers, pipe_tasks]
  • DM-9195: Implement improved jointcal photometric fit [jointcal, obs_cfht, obs_decam, obs_lsstSim]
  • DM-9534: Output jointcal metrics via a metrics logger [jointcal, obs_base, verify, verify_metrics]
  • DM-9579: nondeterministic random number seeds in MeasurePsf candidate reservation [pipe_tasks]
  • DM-9817: Doxygen tries to parse pybind11 wrappers [base]
  • DM-9932: Make afw classes RFC-209 compliant [afw]
  • DM-9953: Pixels rejected from coaddition and CCD are not masked on coadds [afw, meas_base, obs_sdss, obs_subaru, pipe_tasks]
  • DM-10066: Provide utility function for wrapping operator<< [afw, jointcal, meas_modelfit, utils]
  • DM-10152: Fix bug in Box Python stringification [afw]
  • DM-10342: Switch to C++14 [sconsUtils]
  • DM-10411: Remove TIMESYS from namesToKeep in readFitsWcs [afw]
  • DM-10435: Cleanup SDSS PDAC Metadata [cat]
  • DM-10443: Butler sometimes looks up calibDate from filesystem not calibration registry [obs_base]
  • DM-10765: Replace existing WCS classes with SkyWcs [afw, astshim, coadd_chisquared, coadd_utils, ip_diffim, ip_isr, jointcal, meas_algorithms, meas_astrom, meas_base, meas_extensions_astrometryNet, meas_extensions_convolved, meas_extensions_photometryKron, meas_extensions_psfex, meas_extensions_shapeHSM, meas_modelfit, obs_base, obs_cfht, obs_decam, obs_lsstSim, obs_monocam, obs_sdss, obs_subaru, obs_test, pipe_drivers, pipe_tasks, skymap, skypix]
  • DM-10805: Spatially-varying ZOGY option [ip_diffim, pipe_tasks]
  • DM-10819: Define Endpoint equality [afw]
  • DM-10849: Incorporate Synpipe into the stack [lsst_distrib]
  • DM-10902: Stack demo failure with devtoolset-6 [meas_base]
  • DM-10907: AssembleCoadd option to save image of exposures for each pixel. [obs_base, pipe_tasks]
  • DM-10957: Add measurement algorithm for point sources on fluff [meas_base]
  • DM-11016: Add standard library tag file to Doxygen [base, sconsUtils]
  • DM-11023: Add more information to CoaddPsf.computePsfImage failure [meas_algorithms]
  • DM-11138: Convert meas_mosaic wcs output to a format directly readable by the butler [jointcal, obs_base, obs_cfht, obs_decam, obs_lsstSim, obs_subaru]
  • DM-11155: Implement object count metrics [obs_test]
  • DM-11253: Initial Sphinx docs for pipe_base [pipe_base]
  • DM-11268: Add intra-CCD crosstalk correction to ISR [afw, ip_isr, obs_base]
  • DM-11320: Compare add fakes to coadds vs. visit images [pipe_drivers]
  • DM-11332: Automatically (losslessly) compress image HDUs [afw, daf_persistence, jointcal, meas_base, obs_base, obs_subaru, pipe_drivers, pipe_tasks]
  • DM-11336: Switch default reference catalog for DECam to PS1 in LSST format [obs_decam]
  • DM-11356: Confusion of refObjLoader.pixelMargin and matcher.maxOffsetPix [meas_algorithms, meas_astrom, pipe_tasks]
  • DM-11401: testHtmIndex.py takes over 6 minutes to run [meas_algorithms]
  • DM-11407: document formatters & the plan for rollout and use in existing storages [daf_persistence]
  • DM-11432: Implement Robust Coaddition using PSF-matched Warps for Artifact Removal [obs_base, pipe_tasks]
  • DM-11452: Adapt qa analysis scripts to run on DESC DC1 simulations output [obs_lsstSim]
  • DM-11456: Write math for new photometry model in jointcal.tex [jointcal]
  • DM-11514: Modify sconsUtils to use pytest for test execution [base, meas_base, pipe_tasks, sconsUtils]
  • DM-11516: Let Doxygen report inherited methods inline [base]
  • DM-11519: Modify jointcal.py to allow visit Id to be calculated using an camera override. [jointcal]
  • DM-11521: Make task config defaults sensible for all cameras [jointcal, obs_cfht, obs_decam, obs_lsstSim, obs_sdss, obs_subaru, pipe_tasks]
  • DM-11578: Cleanup public:private: ordering in jointcal headers [jointcal]
  • DM-11585: Add pytest support to packages [daf_base, geom, ip_diffim, ip_isr, meas_deblender, meas_extensions_photometryKron]
  • DM-11597: Add lsst.verify to pipelines.lsst.io [verify]
  • DM-11613: ctrl_execute fails with pytest-xdist [ctrl_execute]
  • DM-11614: Jointcal does not work with pytest [jointcal]
  • DM-11618: Bug where a test directory is being used twice caused a race condition and failure [ctrl_execute]
  • DM-11620: Numerical problem with Gaussian test in meas_base with pytest [ip_diffim, meas_algorithms, meas_base, meas_extensions_simpleShape, meas_modelfit]
  • DM-11629: Fix typo in __init__.py filename in verify discovered by pytest [verify]
  • DM-11635: add argument to getTempFilePath() to specify that we don’t care if the file exists on clean-up [utils]
  • DM-11649: Enable flake8 tests in utils package [utils]
  • DM-11653: Make obs_ctio0m9, obs_comCam and ci_ctio0m9 py3 compliant [obs_base, pipe_drivers]
  • DM-11658: Enable flake8 testing in pex_exceptions [pex_exceptions]
  • DM-11660: Enable flake8 testing in the log package [log]
  • DM-11661: Enable flake8 testing in daf_base [daf_base]
  • DM-11662: Enable flake8 testing in pex_policy [pex_policy]
  • DM-11663: Enable flake8 testing in pex_config [pex_config]
  • DM-11664: Enable flake8 testing in daf_persistence [daf_persistence]
  • DM-11667: daf_persistence relies on pex_exceptions installing import aliases [base]
  • DM-11691: Test failure with butler in obs_sdss [obs_sdss]
  • DM-11700: Fix non ascii docstring in pipe_base [pipe_base]
  • DM-11701: Promote FitDonutTask to a CmdLineTask [obs_base, obs_subaru]
  • DM-11735: fix tearDown race conditions in obs_test [obs_test]
  • DM-11758: Make WarpType configurable in GetCoaddAsTemplateTask [ip_diffim]
  • DM-11764: Fix pickling support in daf_base for pybind11 2.2.0 [daf_base]
  • DM-11771: obs_base fails to build on NFS-mounted systems [daf_persistence, obs_base]
  • DM-11776: “RuntimeWarning: invalid value encountered in greater/less” in processing HSC data [afw, ip_isr, meas_algorithms, pipe_tasks]
  • DM-11781: flake8 line length checking is catching shebangs [sconsUtils]
  • DM-11790: Move jointcal doc to DMTN-36 [jointcal]
  • DM-11799: Confusing log messages about exitStatus in successful makeSkyMap tasks [pipe_tasks]
  • DM-11809: Explicitly enable pep8-naming tests [base, meas_base, sconsUtils, shapelet, utils, verify]
  • DM-11810: meas_algorithms fails on NFS-mounted systems [meas_algorithms]
  • DM-11853: shebang target should run before tests [sconsUtils]
  • DM-11861: SqlRegistry raising exception due to missing super.__del__ [daf_persistence]
  • DM-11862: writeFitsCatalogStorage calls obj.writeFits incorrectly [daf_persistence]
  • DM-11871: afw.table column access is slow via__getitem__ (as compared to get) [afw]
  • DM-11885: look in daf_persistence for python2-style calls to super() and replace with python 3 style calls. [daf_persistence]
  • DM-11894: Speed up SpanSet operations [afw]
  • DM-11895: Support getting data for current card of FitsChan [astshim]
  • DM-11905: Fix PhotoCalib defintion to use multiplication [afw]
  • DM-11911: Update obs_ctio0m9 to work following DM-5922 [obs_base]
  • DM-11916: Warnings “Extent2I object has no attribute getWidth” when running meas_mosaic, jointcal [jointcal]
  • DM-11917: Error in coaddDriver following compression changes [pipe_drivers]
  • DM-11927: Set maxOffsetPix consistently [obs_subaru]
  • DM-11929: add from builtins import super to registries.py [daf_persistence]
  • DM-11931: Fix jointcal exit status and doRaise handling [jointcal, pipe_base]
  • DM-11933: Run SafeClip and CompareWarp in mockCoadd.py [pipe_tasks]
  • DM-11941: Disable astropy reading of FITS images [afw]
  • DM-11948: Add option to force detections in coaddDriver [pipe_drivers]
  • DM-11951: Fixes in AL Decorrelation and Zogy [ip_diffim, pipe_tasks]
  • DM-11957: Cannot round-trip >7th degree Chebyshev photometry models [afw]
  • DM-11971: memory leak in astshim isSeries function [astshim]
  • DM-12003: Add default slot for PSF shape [meas_base, meas_extensions_shapeHSM]
  • DM-12014: Make sconsUtils use clang when it knows it using clang [sconsUtils]
  • DM-12021: Pytest should not retry when worker process segfaults [sconsUtils]
  • DM-12025: Make Transform pickleable [afw]
  • DM-12029: recompress jointcal’s testdata zeroed images with fpack [jointcal, testdata_jointcal]
  • DM-12030: Persist parquet tables from pipe_analysis scripts [obs_base, obs_subaru, obs_test]
  • DM-12040: Errors in test_transformFactory.py [afw]
  • DM-12041: Fix identification of overrides in write recipes [obs_base]
  • DM-12061: Eliminate test warnings in test_methods.py [afw]
  • DM-12070: Include obs_ctio0m9 and obs_comCam in lsst_distrib [lsst_obs]
  • DM-12085: Camera geometry incorrect and outdated in obs_test [obs_base, obs_test]
  • DM-12095: FitsCompression doxygen warning [afw]
  • DM-12101: Add debugging plots to ComareWarpAssembleTask [pipe_tasks]
  • DM-12102: add input validation for SpherePoint(double, double, AngleUnits) constructor [afw]
  • DM-12103: Investigate centering for vignetted pupils [afw, obs_subaru]
  • DM-12108: Add fake sources after wcs update [pipe_tasks]
  • DM-12117: repositoryCfg.yaml input root not backwards compatible [daf_persistence]
  • DM-12176: Minor improvements to afwDisplay interface [afw]
  • DM-12184: Coaddition Tasks cannot assume that N masks can fit in memory [pipe_tasks]
  • DM-12200: jointcal tests fail when optional testdata_jointcal is not present [jointcal]
  • DM-12201: pipe_base test failure – error creating .eups cache sub-dir [sconsUtils]
  • DM-12207: Add color selection for photocal [afw, meas_algorithms, meas_astrom, meas_base, obs_lsstSim, obs_subaru, pipe_tasks]
  • DM-12217: Fix bitrot in PgsqlRegistry [daf_persistence]
  • DM-12230: Mapping.applyForward and applyInverse fail on empty arrays [astshim]
  • DM-12243: Add base_InputCount to forced coadd measurement [meas_base]
  • DM-12253: Port validate_drp to lsst.verify [verify]
  • DM-12254: Switch jointcal to default to IndexedRefObj instead of a.net [jointcal]
  • DM-12263: Add display_matplotlib to lsst_distrib [lsst_distrib]
  • DM-12264: Temporarily disable link time optimization on GCC [sconsUtils]
  • DM-12269: Enable lsst.verify to subset specifications by a complete metadata match [verify]
  • DM-12270: AST persistence is not exact [astshim]
  • DM-12272: Fix bug in arrayFromVector [astshim]
  • DM-12310: Figure out why most HSC datasets start with photometry chi2==NaN [jointcal]
  • DM-12359: send Task log output to stdout [pipe_base]
  • DM-12370: Add a coadded transmission curve implementation [meas_algorithms]
  • DM-12373: Add spatially-varying transmission curves to Exposure/ExposureRecord [afw]
  • DM-12374: Add transmission curve coaddition to coadd Task code [pipe_tasks]
  • DM-12375: Attach transmission curves during ISR or std_raw [ip_isr, obs_base, obs_cfht, obs_subaru]
  • DM-12391: Improve error message for case when warpCompare can’t find any psf-Matched warps [pipe_tasks]
  • DM-12417: yaml dump prepends !!python/unicode to everything [daf_persistence]
  • DM-12430: Implement simple distortions in matchPessimisticB [meas_astrom]
  • DM-12431: re-Verify performance of matchPessimistcB with new distorations [meas_astrom]
  • DM-12445: Set appropriate default configs for CompareWarp Coadds [obs_subaru, pipe_tasks]
  • DM-12447: Make Detector.transform and Camera.transform support lists of points [afw, ip_isr, jointcal, meas_base, obs_sdss, obs_subaru, pipe_tasks]
  • DM-12450: Implement RFC-407: improve interface for clobbering vs. reusing outputs [daf_persistence, pipe_base, pipe_drivers, pipe_tasks]
  • DM-12452: Add FrameDict class [astshim]
  • DM-12454: Plugin ‘flake8’ could not be loaded: (pyflakes 1.6.0) [sconsUtils]
  • DM-12473: Add getParallacticAngle() to visitInfo [afw]
  • DM-12491: Reduce compareWarp I/O [pipe_tasks]
  • DM-12492: Fix ci_hsc breakage from DM-10443 [obs_subaru]
  • DM-12513: multimatch optimization 1 [afw]
  • DM-12514: Improve filtering of artifacts in CompareWarpAssemble [pipe_tasks]
  • DM-12517: Evaluate (and optionally implement) using SourceDetectionTask in CompareWarpAssemble [pipe_tasks]
  • DM-12521: Update boost to 1.66 [afw]
  • DM-12522: Incorporate new color terms [obs_subaru]
  • DM-12524: AST should still write in FITS-WCS format after offsetting CRPIX [afw, astshim]
  • DM-12527: base build failure on Ubuntu due to gcc non-detection [sconsUtils]
  • DM-12529: Enum comparison should use == not is [skymap]
  • DM-12531: Implement RFC-409: only check configurations/schemas/versions in output repos [pipe_base]
  • DM-12532: Add capability to use Slurm reservation to allocateNodes.py [ctrl_execute, ctrl_platform_lsstvc]
  • DM-12539: Fix PSFEx in good seeing [meas_extensions_psfex]
  • DM-12540: Add HSM moments that use a circular weight function [meas_extensions_shapeHSM]
  • DM-12595: Failure to load configs when processing HSC data [obs_subaru]
  • DM-12596: AstrometryTask.distort broken [meas_extensions_astrometryNet]
  • DM-12599: Implement lossless FITS compression [obs_base]
  • DM-12602: implement jointcal constrained model fixes to reduce failing factorizations [jointcal]
  • DM-12611: FrameDict(FrameSet const &) broken [astshim]
  • DM-12615: Add copy-constructors to astshim objects [astshim]
  • DM-12656: Update flake8 and pyflakes packages [base, daf_base, daf_persistence, log, meas_base, pex_config, sconsUtils]
  • DM-12658: base_PixelFlags_flag_clipped not getting set on measurements on CompareWarp Coadds [pipe_tasks]
  • DM-12664: PsfMatched slivers of calexps are worthless [ip_diffim]
  • DM-12665: Failure to fail in assembleCoadd [obs_subaru, pipe_tasks]
  • DM-12670: CalibCombineTask sets variance to NaN(0) if given 1(2) inputs [pipe_drivers]
  • DM-12690: Make ConstrainedPolyModel actually support initFromWCS [jointcal]
  • DM-12692: Improve temporal threshold for CompareWarp [pipe_tasks]
  • DM-12694: Add queue option for allocateNodes.py [ctrl_execute, ctrl_platform_lsstvc]
  • DM-12697: Fix hollowed out cores of saturated stars in CompareWarp [obs_subaru, pipe_tasks]
  • DM-12700: Flip CompareWarpAssembleCoaddTask on by default for RC and ci_hsc [obs_base, obs_subaru, pipe_tasks]
  • DM-12701: Update showVisitSkyMap.py for unique visit and tract identification [skymap]
  • DM-12722: Test failed during rebuild ip_diffim due to /proc/driver/prl_vtg [utils]
  • DM-12724: Add slash to /proc [utils]
  • DM-12740: afw::geom::Transform should be Persistable [afw]
  • DM-12763: afw test_testTableArchives has uninitialized memory [afw]
  • DM-12764: Overhaul SkyWcs [afw]
  • DM-12765: Record filter ratios in HSC coadds [meas_base, obs_subaru, pipe_tasks]
  • DM-12766: coaddDriver with –cores > 1 produces MPI_Abort(MPI_COMM_WORLD, 1) [pipe_drivers]
  • DM-12771: Support the new FitsChan SipReplace attribute [astshim]
  • DM-12779: Rename ip_cpp to cp_pipe and add to lsst_distrib [lsst_distrib]
  • DM-12798: Add source selection by signal-to-noise ratio [meas_algorithms]
  • DM-12881: coaddDriver tries to unset doMatchBackgrounds, which does not exist [pipe_drivers]
  • DM-12918: investigate and merge u/fix_outliers [jointcal]
  • DM-12924: SpherePoint.offset should work at the poles and for negative offsets [afw]
  • DM-12931: Ignore EDGE pixels in coaddition [obs_subaru]
  • DM-12933: Coadd variance scaling should go in Exposure metadata, not task metadata [pipe_tasks]
  • DM-12947: constructFlat.py fails on HSC [obs_subaru]
  • DM-12956: sconsUtils driven testing now fails with space in path to python [sconsUtils]
  • DM-12968: Include INTERP+CR pixels in coadds [obs_subaru, pipe_drivers, pipe_tasks]
  • DM-12979: y-band background subtraction [obs_subaru, pipe_drivers]
  • DM-12980: Add display_firefly to lsst_distrib [lsst_distrib]
  • DM-12985: Bad masking and interpolation around bleeds [ip_isr, obs_decam, obs_subaru, pipe_tasks]
  • DM-12995: Improve detection thresholds and background with temporary sky objects [afw, meas_algorithms, pipe_tasks]
  • DM-13046: Fix race condition with temp files in meas_base [utils]
  • DM-13055: reject NaN centroid sigmas in astrometrySourceSelector [meas_algorithms, meas_base]
  • DM-13082: test failure due to DM-12968 config move [pipe_tasks]
  • DM-13084: Be smarter about combining metadata from FITS headers [afw, daf_base]
  • DM-13096: Add refraction calculation to the stack [afw, obs_lsstSim]
  • DM-13110: Support ingestion of compressed images [afw, pipe_tasks]
  • DM-13122: Separate the execution environment metadata from the other metadata in the JSON document sent to SQuaSH (dispatch_verify.py) [verify]
  • DM-13146: Update HSC defects [obs_subaru]
  • DM-13155: Fix typo in processEimage [obs_lsstSim]
  • DM-13162: Fix warning in processEimage [obs_lsstSim]
  • DM-13166: Update AST to add support for writing SIP terms [astshim]
  • DM-13182: SpanSet.fromMask produces larger spans than image [afw]
  • DM-13184: getCcdIdListFromExposures fails to obey order of keys in ccdKeys [pipe_drivers]
  • DM-13187: jointcal selected_*_refStars is not correctly computed [jointcal]
  • DM-13189: Add FunctorKey for Boxes [afw]
  • DM-13227: Refine exposure-wide background subtraction [pipe_drivers]
  • DM-13231: Make photoCalib outField write to _flux instead of _calFlux [afw]
  • DM-13237: Implement authentication via access token in lsst.verify [verify]
  • DM-13243: PhotoCalTask must only match with DirectMatchTask [meas_astrom, pipe_tasks]
  • DM-13244: Port parallel ingest from HSC [pipe_drivers, pipe_tasks]
  • DM-13260: Support construction of new HSC calibs [ip_isr, obs_subaru, pipe_drivers]
  • DM-13269: Improve jointcal debugging output [jointcal]
  • DM-13316: AST errors when using multiprocessing to return astshim objects [astshim]
  • DM-13325: warpExposure does not propogate visitInfo [afw, ip_diffim, pipe_tasks]
  • DM-13336: Add centroid, shape to forced CCD measurements [meas_base]
  • DM-13345: Improve template and warp variance for Warp Compare [pipe_tasks]
  • DM-13380: Add base_PixelFlags_flag_inexact_psfCenter [meas_base, pipe_tasks]
  • DM-13388: Enable visit-level sky subtraction for HSC by default [obs_subaru]
  • DM-13389: Enable transmission curve attachment for HSC by default [obs_subaru]
  • DM-13394: Increase default http timeout in lsst.verify [verify]
  • DM-13395: Drop GaussianCentroid [ip_diffim, meas_algorithms, meas_base]
  • DM-13396: Fix coadd mask propagation [afw, meas_base, meas_extensions_shapeHSM, pipe_drivers, pipe_tasks]
  • DM-13408: Fix fringe fix [ip_isr]
  • DM-13410: Shrink input bboxes in inputRecorder per psfMatched Warp in WarpCompare [obs_subaru, pipe_drivers, pipe_tasks]
  • DM-13411: Fix compiler warnings in TransmissionCurve implementation [afw]
  • DM-13412: camera mapper should specify DecoratedImageU instead of ImageU [obs_sdss]
  • DM-13437: Stop calibration product generation from causing lots of warnings/errors due to inability to create pretty pictures [afw, pipe_drivers]
  • DM-13440: Check that amplifier gains are >= 0 and set to 1.0 if they are bad after warning [ip_isr]
  • DM-13485: Fix NB filter transmission curve dataset filenames [obs_subaru]
  • DM-13498: Add config to make WarpCompare very conservative [pipe_tasks]
  • DM-13503: Failure to update test checks in DM-13485 [obs_subaru]
  • DM-13507: Add stable hash to SkyMap objects [skymap]
  • DM-13511: Some calexps cannot be opened with ds9 [afw]
  • DM-13520: Add readme to obs_subaru [obs_subaru]
  • DM-13534: Upgrade ndarray to upstream 1.4.2 [afw]
  • DM-13539: astshim fails to preserve SIP terms for some TAN SIP when writing FITS metadata [afw]
  • DM-13548: Update visualizeVisit following makeImageFromCamera change [pipe_drivers]
  • DM-13553: Deal with large blends [meas_algorithms, pipe_tasks]
  • DM-13557: Minor config doc fixes for SourceDetectionTask [meas_algorithms]
  • DM-13571: fix plot_photoCalib bounds [jointcal]
  • DM-13575: fix minor bug in photometry ipynb [jointcal]
  • DM-13577: Add FGCM datasets to obs_base for persistence [obs_base, obs_test]
  • DM-13603: SkyWcs has memory problems [astshim]
  • DM-13606: Suppress numpy warning from measureApCorr [meas_algorithms, pipe_drivers]
  • DM-13610: Python 3 buffered error messages don’t escape before MPI abort [ctrl_pool]
  • DM-13613: Suppress exit status warning from makeDiscreteSkyMap.py [pipe_tasks]
  • DM-13614: Fix large SBATCH –time [ctrl_pool]
  • DM-13615: lsst.meas.base.tests.TestDataset allows randomness [meas_base]
  • DM-13617: tempWideBackground isn’t temporary [meas_algorithms]
  • DM-13628: Fix BaseHTTPServer and SocketServer imports for Python 3 [ctrl_orca]
  • DM-13654: Set SENSOR_EDGE in coadds [pipe_tasks]
  • DM-13680: SkyWcs(FrameDict) is not adequately tested [afw]
  • DM-13686: Saving a particular FrameSet as FITS-WCS causes a segfault [astshim]
  • DM-13693: Use overload_cast in pybind11 wrappers to simplify wrapping overloaded functions [astshim]
  • DM-13694: Revert change to SdssMapper.yaml due to unit test failed [obs_sdss]
  • DM-13731: Update defects for HSC [obs_subaru]
  • DM-13741: Tweak background in DynamicDetectionTask [meas_algorithms, pipe_drivers, pipe_tasks]
  • DM-13746: Modernize use of ndarray in astshim pybind11 wrappers [astshim]