From eb265be70d202e1473b6838ee92b6d92c54df717 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 12:16:13 -0400 Subject: [PATCH 01/10] Tweak language on landing page --- docs/index.rst | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/docs/index.rst b/docs/index.rst index f9ac6c76..488449e4 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -3,16 +3,11 @@ CCDPROC ================ -Welcome to the ccdproc documentation! Ccdproc is is an affiliated package for -the AstroPy package for basic data reductions of CCD images. The ccdproc -package provides many of the necessary tools for processing of ccd images built -on a framework to provide error propagation and bad pixel tracking throughout -the reduction process. - -Documentation -============= - -The documentation for this package is here: +**Ccdproc** is is an `Astropy `_ `affiliated +package `_ the AstroPy package +for basic data reductions of CCD images. It provides the essential tools for +processing of CCD images in a framework that provides error propagation and +bad pixel tracking throughout the reduction process. .. toctree:: :maxdepth: 2 From 862cf47ac858515a712fffdcb877ba18b410280f Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 13:33:04 -0400 Subject: [PATCH 02/10] Add banner to documentation landing page --- docs/_static/ccdproc_banner.pdf | Bin 0 -> 9342 bytes docs/_static/ccdproc_banner.png | Bin 0 -> 95067 bytes docs/_static/ccdproc_banner.svg | 1257 +++++++++++++++++++++++++++++++ docs/index.rst | 29 +- 4 files changed, 1279 insertions(+), 7 deletions(-) create mode 100644 docs/_static/ccdproc_banner.pdf create mode 100644 docs/_static/ccdproc_banner.png create mode 100755 docs/_static/ccdproc_banner.svg diff --git a/docs/_static/ccdproc_banner.pdf b/docs/_static/ccdproc_banner.pdf new file mode 100644 index 0000000000000000000000000000000000000000..17fbd9270765bc290c1d8f59d9a0c61f5c0e1ae3 GIT binary patch literal 9342 zcmcI~2RzjOAHR_iLXjOu#>u+v&fZ&H*<_q^IGJZ=r6I{mgNOzydyj|`A+l$PtVC8u zQAYne()@lO-|zSL|NlS7=kEQw*XzAMujljidY=$lO+x}K38xb(naf?Lg91PRH(Mt< zIXQro9?sRl%Mk!0icZi0001csyt5aMKzw(`c;VD=ST{Qyoq__LrxyW-aiQ}|sxsF< z#sg-kYRh}!FVxyijZy2&w>zodVVJo#}vrU(i z*7`l1zdA;C$}~hl!}ettDaFgx7^75{ zgg)g~^L#=ST0&IbX?i^aYHiY+N)jOLH-{P$;Hs z#I?5zU1(Q%=6e5CCViYuiEM@1X}3sjXB$E|nRmfKOIz*W+6-qxxVcO01jmb)R*8DnUGP%K=raH%TNC2&h0PPgttn#E zXJVr~4BI@GBN}w|MKkQkb>-2Vu-ThUcQI#-_DFbRaqZ{QhE6P$E?LD@6qE;W3UwVB znlaT74v{-j+mUhch5@Y-p4VVPcZeq%B6Gb$H2b3-(5MCV(g%G+Ye_g=NmMZB82T(h z-$B;lY$A-X2Y#0~NKQEvvcG}dP$yM8+ml)8HgMFDmh!$?8(Ti`klB+Eb$n$3mAI3^ zc~P4iNBZ>0vkciM_L+7^i0D?Q*tf}@PYo?UHtZqah?nm`0h?CnO!8Bjf%$bu8m&As z4!=0L&VnyOU+xQ}Vz4c^@U~E^(mRYJRXlr7ZKnI#3*x5u38g&@#~k*9cu-f!beH!E z*eJK#P>zq~B zhuhNcmaeu;&xI>=9M76_@$8?MnVGaMt(wj)`7q_ zu1-%Em=6m$LPJH;O_8ppnXy#4V{=)ICtFtI*eMsjt=5rKY%n0 zv$AU)rcg;YGBS!)BHls*$CY|AX+6ftRE!=KJE`A4M)x7RDyuk?|t5#M-UutG0&|809n}12BwG875TkocPo7tkp5l^&zQoqW787}{vz+;eRLZ)ZGa*Mvaj_N~= z%Zf!5viliwEV{j`x;m(xwgo`;B2e~?sP5G}U3U7*5s||CZ*z-0oqCtspz4flz9?`< zp%|uk>=WDcbW8bYf8f?&Mx*v-bI&RNxa)c3%u|^gY6`-N=jqGWD9D8#WD>gh31>sz zI2@Q|L}faqG^+7Dwwf9Y@^kQOKUhXpH#}+>W5HJQ#6vfwSj1AtuMRUD$Ekx$+PKtk zp3D32JoP4nb2~NQ%RHIx<>qyvr;UQ@@VBdiWsGbAMNOMkInMZj<_g{-$Ndi7oWng> zl!w=>R_7egraLs_5k=R4ukG^l@l+sn)A5dii1veq7ijW53R!76UPS7bV(8|@7J~{J zU2xp5xuuW3Hoe+sM{su*H#RIe_e9AAVO{CfSk0e*sQgJN*Pbjrp%zS%c{soMC4q&< zE6nnS`L}X4mk&9uD>;DL+3<^>sEVdd2U3fH^R3Z`l&#OKcCj_ePpqsZozqP(TPw*; zo@VrD7cLEVjp-SS3Hu@p&O5YhKZS937EN0_sDF*h>;wI$#Mv?t-a|YE_VMw2c*mTw zLEOvcsV`3|#vAUOeA7_C^14)FOLW#sd8_g`OCgY3r;o!kknW%h=T+vSXB`vs?2YwX zmrmYs=%*R~5^r=U3;scD-fctoAo4?+-?59V7GWYS;i{CBVF$ERk7YKdWeOiCq0_qF z8K4uMq2~m|c0Xf-Qb(F#$>S8xrqU$3*VE;xhRzD13bm{byLG+vYT^E%Q7J#XJoiNB zzWD;~s<2t4RNojPQZZ0ut4#ycz=hHr=3l^w^$p;hv+O?Jmi?Lo{z^`*-14>ck&_z* z+ne>TK2p%k%dWEZY)_Ezp-1Cvpvc9TnwE!6e1;98R=wk2j67pMQ%B0Co|(nEzF(8N z)n+T_Drp?MvI6} z?B~l8QgwR=3slaFCrd^}$gzs>g@hoTBfn)7tJ>!DbVqAz=q^YZ|t%4Ra*!JrNL|{M@+$0QeE_hov zXS?sZ8WPx2@MUNE;IIko4WQR0ZRS+a?D8 zX1?$QPcKzR3}JUB^f2GbU@&64wqF+n0R92s>aN7_3h(LwkTSu$D!Y2(cLm#aCU`q9 zN6&BEfP}99`wLE7hyUGr*Aj++0N@A`75noAhmmF-1b|9I0Wc^S07ZazR-H&d+>BiD zq&SjD-G~}LuMBvX*ZmZV5*g3GCK50h>=z=@W2o!Ma-6lw*B+9gotPMGUtDi@wHVs- z;GRoo!h^2vUZ&Dl=9wu#{H<4+2hH^hBItqPCmLi_N9{}Ep28!gC)LZo;pSbEie6z3{v~Y={}muJyboK zrp}XN1dn~!G1Sd|Y(=_T(%SS$ZEDe%Vy1(*<{FwwW0m#k*2tD zqrkoQCw$Ny_R}zgxghNWe)Hqky`e4#cZWhy|LH#}&{)icHRH`4@F%VM%`&Drx z-F=-Ol|Z*jhF>9bYgv0%-@R8ijQN`WRpE+%Wp$AsuT&>TTT~c~cQjS;_D1}(O<~0u zHmHch`i#?7Lw+EEm+LA1>1&JjwY^t@PCXEL+;Gg|R7``zRQ;_=h5$-E>x4V+UTKfZ zD-CmI&Yb3qnC=@%I6j3D)Uu_x8c7STJhseMg$bcuspWWmQB=GYKQan5qMo*viw~px z#2pg-;>cgX%C2uD!U_@u{thdoaA((LeoGO7zsEcO0=t!6YXQua%a`Sa!)V9Sa|F!d zGFQe_2Qpnr;2rCv#KE_*F3EiV1QQ9oLFU2J*8UDGA6BP&LiR>_%Z!cnr88?JWn&wt zi;bpxZ&?h3<*E)y#EN+|1?#9kJJ$G z_sRT0od96cQtgDayTJVa9jX6B*8eVneZ%5EE#Xi&01hL8E_C~G{-FVbBK`uecd{No zk{jT^2>ctpa?T4 zGhMeDJ<2^uPL~^AhEW8y{y0*jM%C-Ufn-Q6QUyjiG>>x zmBua!PI|WGG;0#|u*{WOs@dj@^e0O+*(QgG78509s7=TL5T#c3tsJiifjoNMQIH$1 zMgZfzIdPG2>B>QJePCLKwU0x8spaDr?~_+Pr0&xXfF=~xT9g859=eGI6Q&Wlp~_Ev z{AsHS$uyD$>CU}4RT6m|vNZKMWjVX(xluOwQSK1WlYYL(>>{@`G;7DBqQ;xZQ`$Kh6u#X~OP#<;_yHQ$f{nQp;7~_rjAZd_#-#-vt{@QTftRA(> zE%4;Mj$M#Pull@grT--r2L)TSUuI*@3CJ>AM1NY(QqoO&u?*Avwl&pfJY`7xq|G+Z znps)s<}E5;ZBd8f@U3Bg1NDxA8RVwhuY6XeK^(zl*@C8 z?qq@ncI9TBdGo<>jE9mx$pA^d8Npr_75r;8=AlRd^KTT0*{($e}8h{AgCU5r}Ki5h}?b) zd_c*NdA2lXlEi&Ge{UDZ;Kv%{F`}rd6Ce0n?@Y0Bc=)yy+!?oE(1~Hmc|bmtaY2FS z^{XVt09#3YI?H$wop`mRC`PcPc;CWc@1}qA@i>{y^m_%B6*=mnWnWJ0%hF)R($qgv zd(b0)Ps2v2_xjw4SVh}-Ds0?Pk!5$ zk1Fd-;~(6x^0DY@a_tPr4o>!#CaqWHo2GzCcPbrFFixLxt*FI*=$AB#Hs zX7LQP`*IJ__M!pyLw?HB-&QC!t(Fq)5EpQBfm(6XX=F}W z=01`(FlS@q<(Hw;+{nwHarQ2D33_5UrNVd9I<#E|AoLcc)5bFr{9T8-x|T##+S&a zSl8i8%Tb>{zf;_UeGSlj5jKGpzvlUtCr&iQm2r|U=WC1VR%#WSp~7UX9NO(9*}h)e zY^wCI&~#8GTLD|f#@1K4)#F7NxS?fhuX%LZyX8?hkws4LH;7Q1o;oSrQ$Dd z+w8$6Gd_~+yUQ$GX)2P*Rcy5Qsi`bcQ;H74G|1&KpKNyFIyw+dh{Bv7x@ILD$V`T= zq>6f0K|lMXmC~TLXPqypLmjBzcUD97O;zNUchdgL&cmyTO9H=@|4o-#VcT z_3`(bp%^cA)0=O?!%UkddB+huyl*fsONSdgF7P$=YXya4%+X((d@Gfe}t z-$?BVoP)PB=10crZ)oj55?UCM(4wHEjLLmQNB%ct-e@|$C&pz#j0i+bieOWCh2r2U+b+V&$qM;|}?m7T>Ro!)tFPo*y2 zj+Bkt4hp_)Dpfac(t+MjCu5MGGg_*|-%Jp5umB(ygD0j>!IEH@BoY90^zw3-ks=;O z5`_)~jJqQq>nZ6*a1hOGx#SrtZZVuaH*dEQd6UZM% zegvF79r64TK?nMN0T6Ifv|tbTCPTtd#DyST0M}g^>3s5c83;s5;Qg*g3Z;IPL7@=h z()=oeLr_Hj@~aF9B4!eQlYybgKk5S`ND{;dr-h_tPLZ5J+0Oq~BFlZL{H4)#|)VpslXLt6UJ@k$e~ z-))iG567?dArZ)*+VCP^h^chK_D_Ti@cuZ`-XMkaC*0h;i02Q)XKKfZXuI0G0k-%2 a_EY5Pg&}xt?q<&0;?*9PY^%?>I literal 0 HcmV?d00001 diff --git a/docs/_static/ccdproc_banner.png b/docs/_static/ccdproc_banner.png new file mode 100644 index 0000000000000000000000000000000000000000..e3c53d1318f42d7859f1aeb2fa9ef3bda78ca00f GIT binary patch literal 95067 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 UO#Uc7OFmRPq;)X$fcc;Q2VIxNKL7v# literal 0 HcmV?d00001 diff --git a/docs/_static/ccdproc_banner.svg b/docs/_static/ccdproc_banner.svg new file mode 100755 index 00000000..a6ba8cfc --- /dev/null +++ b/docs/_static/ccdproc_banner.svg @@ -0,0 +1,1257 @@ + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ccd + proc + + + + An Astropy image reduction package + + diff --git a/docs/index.rst b/docs/index.rst index 488449e4..74a2a16d 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -1,13 +1,28 @@ +.. the "raw" directive below is used to hide the title in favor of + just the logo being visible +.. raw:: html -================ + + +======== CCDPROC -================ +======== + +.. raw:: html + + + +.. only:: latex + + .. image:: _static/ccdproc_banner.pdf -**Ccdproc** is is an `Astropy `_ `affiliated -package `_ the AstroPy package -for basic data reductions of CCD images. It provides the essential tools for -processing of CCD images in a framework that provides error propagation and -bad pixel tracking throughout the reduction process. +**Ccdproc** is is an `Astropy`_ `affiliated package +`_ for basic data reductions +of CCD images. It provides the essential tools for processing of CCD images +in a framework that provides error propagation and bad pixel tracking +throughout the reduction process. .. toctree:: :maxdepth: 2 From 46196525dd08fe316843bf7c90b117bf8c5bd67c Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 14:14:01 -0400 Subject: [PATCH 03/10] Move the bulk of the documentation up one level --- docs/{ccdproc => }/ccddata.rst | 0 docs/{ccdproc/index.rst => ccdproc.rst} | 21 --------------------- docs/{ccdproc => }/image_combination.rst | 0 docs/{ccdproc => }/image_management.rst | 0 docs/{ccdproc => }/install.rst | 0 docs/{ccdproc => }/reduction_examples.rst | 0 docs/{ccdproc => }/reduction_toolbox.rst | 0 7 files changed, 21 deletions(-) rename docs/{ccdproc => }/ccddata.rst (100%) rename docs/{ccdproc/index.rst => ccdproc.rst} (82%) rename docs/{ccdproc => }/image_combination.rst (100%) rename docs/{ccdproc => }/image_management.rst (100%) rename docs/{ccdproc => }/install.rst (100%) rename docs/{ccdproc => }/reduction_examples.rst (100%) rename docs/{ccdproc => }/reduction_toolbox.rst (100%) diff --git a/docs/ccdproc/ccddata.rst b/docs/ccddata.rst similarity index 100% rename from docs/ccdproc/ccddata.rst rename to docs/ccddata.rst diff --git a/docs/ccdproc/index.rst b/docs/ccdproc.rst similarity index 82% rename from docs/ccdproc/index.rst rename to docs/ccdproc.rst index 5c927f0a..013e74d0 100644 --- a/docs/ccdproc/index.rst +++ b/docs/ccdproc.rst @@ -1,27 +1,6 @@ CCD Data reduction (`ccdproc`) ============================== -Introduction ------------- - -.. note:: - `ccdproc` works only with astropy version 2.0 or later. - -The `ccdproc` package provides: - -+ An image class, `~astropy.nddata.CCDData`, that includes an uncertainty for the - data, units and methods for performing arithmetic with images including the - propagation of uncertainties. -+ A set of functions performing common CCD data reduction steps (e.g. dark - subtraction, flat field correction) with a flexible mechanism for logging - reduction steps in the image metadata. -+ A function for reprojecting an image onto another WCS, useful for stacking - science images. The actual reprojection is done by the - `reproject package `_. -+ A class for combining and/or clipping images, `~ccdproc.Combiner`, and - associated functions. -+ A class, `~ccdproc.ImageFileCollection`, for working with a directory of - images. Getting Started --------------- diff --git a/docs/ccdproc/image_combination.rst b/docs/image_combination.rst similarity index 100% rename from docs/ccdproc/image_combination.rst rename to docs/image_combination.rst diff --git a/docs/ccdproc/image_management.rst b/docs/image_management.rst similarity index 100% rename from docs/ccdproc/image_management.rst rename to docs/image_management.rst diff --git a/docs/ccdproc/install.rst b/docs/install.rst similarity index 100% rename from docs/ccdproc/install.rst rename to docs/install.rst diff --git a/docs/ccdproc/reduction_examples.rst b/docs/reduction_examples.rst similarity index 100% rename from docs/ccdproc/reduction_examples.rst rename to docs/reduction_examples.rst diff --git a/docs/ccdproc/reduction_toolbox.rst b/docs/reduction_toolbox.rst similarity index 100% rename from docs/ccdproc/reduction_toolbox.rst rename to docs/reduction_toolbox.rst From 8430f2455baa8ac58b1670e74ef7e1c2516659e7 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 14:14:28 -0400 Subject: [PATCH 04/10] Add citation file and code of conduct file --- CITATION.rst | 43 +++++++++++++++++++++++++++++++++++++++++++ CODE_OF_CONDUCT.rst | 6 ++++++ 2 files changed, 49 insertions(+) create mode 100644 CITATION.rst create mode 100644 CODE_OF_CONDUCT.rst diff --git a/CITATION.rst b/CITATION.rst new file mode 100644 index 00000000..43f8f9e3 --- /dev/null +++ b/CITATION.rst @@ -0,0 +1,43 @@ +Citing ccdproc +-------------- + +If you use ccdproc for a project that leads to a publication, +whether directly or as a dependency of another package, please include +the following acknowledgment: + +.. code-block:: text + + This research made use of ccdproc, an Astropy package for + image reduction (Craig et al. 20XX). + +where (Craig et al. 20XX) is a citation to the `Zenodo record +`_ of the ccdproc version +that was used. We also encourage citations in the main text wherever +appropriate. + +For example, for ccdprpoc v1.3.0.post1 one would cite Craig et al. 2017 +with the BibTeX entry (https://zenodo.org/record/1069648/export/hx): + +.. code-block:: text + + + @misc{matt_craig_2017_1069648, + author = {Matt Craig and Steve Crawford and Michael Seifert and + Thomas Robitaille and Brigitta Sip{\H o}cz and + Josh Walawender and Z\`e Vin{\'{\i}}cius and Joe Philip Ninan and Michael Droettboom and Jiyong Youn and + Erik Tollerud and Erik Bray and + Nathan Walker and VSN Reddy Janga and + Connor Stotts and Hans Moritz G{\"u}nther and Evert Rol and + Yoonsoo P. Bach and Larry Bradley and Christoph Deil and + Adrian Price-Whelan and Kyle Barbary and Anthony Horton and + William Schoenell and Nathan Heidt and Forrest Gasdia and + Stefan Nelson and Ole Streicher}, + title = {astropy/ccdproc: v1.3.0.post1}, + month = dec, + year = 2017, + doi = {10.5281/zenodo.1069648}, + url = {https://doi.org/10.5281/zenodo.1069648} + } + +All ccdproc versions (and more citation formats) can be found at +https://doi.org/10.5281/zenodo.1069648. diff --git a/CODE_OF_CONDUCT.rst b/CODE_OF_CONDUCT.rst new file mode 100644 index 00000000..d72d30d5 --- /dev/null +++ b/CODE_OF_CONDUCT.rst @@ -0,0 +1,6 @@ +Code of Conduct +=============== + +Ccdproc is an `Astropy`_ affiliated +package and we follow the `Astropy Community Code of Conduct +`_. From 5867f6b425b1e032c964b6c8910533f13a52e0ca Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 14:14:57 -0400 Subject: [PATCH 05/10] Split documentation out a bit into smaller chunks --- docs/citation.rst | 3 +++ docs/conduct.rst | 3 +++ docs/contributing.rst | 38 ++++++++++++++++++++++++++++++++++++++ docs/index.rst | 35 ++++++++++++++++++++++++----------- docs/overview.rst | 21 +++++++++++++++++++++ 5 files changed, 89 insertions(+), 11 deletions(-) create mode 100644 docs/citation.rst create mode 100644 docs/conduct.rst create mode 100644 docs/contributing.rst create mode 100644 docs/overview.rst diff --git a/docs/citation.rst b/docs/citation.rst new file mode 100644 index 00000000..bfef5feb --- /dev/null +++ b/docs/citation.rst @@ -0,0 +1,3 @@ +.. _photutils_citation: + +.. include:: ../CITATION.rst diff --git a/docs/conduct.rst b/docs/conduct.rst new file mode 100644 index 00000000..236ce420 --- /dev/null +++ b/docs/conduct.rst @@ -0,0 +1,3 @@ +.. _ccdproc_coc: + +.. include:: ../CODE_OF_CONDUCT.rst diff --git a/docs/contributing.rst b/docs/contributing.rst new file mode 100644 index 00000000..d7d57a03 --- /dev/null +++ b/docs/contributing.rst @@ -0,0 +1,38 @@ +Reporting Issues and Contributing +================================= + +Reporting Issues +---------------- + +If you have found a bug in ccdproc please report it by creating a +new issue on the `ccdproc GitHub issue tracker +`_. That requires +creating a `free Github account `_ if you do not +have one. + +Please include an example that demonstrates the issue and will allow the +developers to reproduce and fix the problem, if possible. You may be asked to +also provide information about your operating system and a full Python stack +trace. The developers will walk you through obtaining a stack trace if it is +necessary. + + +Contributing +------------ + +Like the `Astropy`_ project, `ccdproc `_ is made both by and for its +users. We accept contributions at all levels, spanning the gamut from +fixing a typo in the documentation to developing a major new feature. +We welcome contributors who will abide by the `Astropy Code of Conduct +`_. + +Ccdproc follows the same workflow and coding guidelines as +`Astropy`_. The following pages will help you get started with +contributing fixes, code, or documentation (no git or GitHub +experience necessary): + +* `How to make a code contribution `_ + +* `Coding Guidelines `_ + +* `Developer Documentation `_ diff --git a/docs/index.rst b/docs/index.rst index 74a2a16d..c0fec43b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,9 +6,9 @@ h1 {display:none;} -======== - CCDPROC -======== +======= +ccdproc +======= .. raw:: html @@ -24,19 +24,32 @@ of CCD images. It provides the essential tools for processing of CCD images in a framework that provides error propagation and bad pixel tracking throughout the reduction process. +.. Important:: + If you use `ccdproc`_ for a project that leads to a publication, + whether directly or as a dependency of another package, please + include an :doc:`acknowledgment and/or citation `. + +Getting started +--------------- + .. toctree:: - :maxdepth: 2 + :maxdepth: 1 + + install.rst + overview.rst + citation.rst + contributing.rst + conduct.rst - ccdproc/install.rst .. toctree:: - :maxdepth: 3 + :maxdepth: 3 - ccdproc/index.rst + ccdproc.rst .. toctree:: - :maxdepth: 1 + :maxdepth: 1 - authors_for_sphinx - changelog - license + authors_for_sphinx + changelog + license diff --git a/docs/overview.rst b/docs/overview.rst new file mode 100644 index 00000000..a135e0bb --- /dev/null +++ b/docs/overview.rst @@ -0,0 +1,21 @@ +Overview +======== + +.. note:: + `ccdproc` works only with astropy version 2.0 or later. + +The `ccdproc` package provides: + ++ An image class, `~astropy.nddata.CCDData`, that includes an uncertainty for the + data, units and methods for performing arithmetic with images including the + propagation of uncertainties. ++ A set of functions performing common CCD data reduction steps (e.g. dark + subtraction, flat field correction) with a flexible mechanism for logging + reduction steps in the image metadata. ++ A function for reprojecting an image onto another WCS, useful for stacking + science images. The actual reprojection is done by the + `reproject package `_. ++ A class for combining and/or clipping images, `~ccdproc.Combiner`, and + associated functions. ++ A class, `~ccdproc.ImageFileCollection`, for working with a directory of + images. From 0e8ea88d59794e9cab68ac8dd655b16fa6a3e6c4 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 14:41:13 -0400 Subject: [PATCH 06/10] Finish chunking out the documentation --- docs/api.rst | 11 +++++++++ docs/contributing.rst | 8 +++---- docs/{ccdproc.rst => getting_started.rst} | 27 +-------------------- docs/index.rst | 29 +++++++++++++++-------- 4 files changed, 35 insertions(+), 40 deletions(-) create mode 100644 docs/api.rst rename docs/{ccdproc.rst => getting_started.rst} (89%) diff --git a/docs/api.rst b/docs/api.rst new file mode 100644 index 00000000..ecdbed7d --- /dev/null +++ b/docs/api.rst @@ -0,0 +1,11 @@ +API Reference +============= + +.. automodapi:: ccdproc + :skip: CCDData + :skip: fits_ccddata_writer + :skip: fits_ccddata_reader + +.. automodapi:: ccdproc.utils.slices + +.. _GitHub repo: https://github.com/astropy/ccdproc diff --git a/docs/contributing.rst b/docs/contributing.rst index d7d57a03..30f4acc8 100644 --- a/docs/contributing.rst +++ b/docs/contributing.rst @@ -1,5 +1,5 @@ -Reporting Issues and Contributing -================================= +Reporting Issues and contributing code +====================================== Reporting Issues ---------------- @@ -17,8 +17,8 @@ trace. The developers will walk you through obtaining a stack trace if it is necessary. -Contributing ------------- +Contributing code +----------------- Like the `Astropy`_ project, `ccdproc `_ is made both by and for its users. We accept contributions at all levels, spanning the gamut from diff --git a/docs/ccdproc.rst b/docs/getting_started.rst similarity index 89% rename from docs/ccdproc.rst rename to docs/getting_started.rst index 013e74d0..254207c4 100644 --- a/docs/ccdproc.rst +++ b/docs/getting_started.rst @@ -1,9 +1,5 @@ -CCD Data reduction (`ccdproc`) -============================== - - Getting Started ---------------- +=============== A ``CCDData`` object can be created from a numpy array (masked or not) or from a FITS file: @@ -90,24 +86,3 @@ use an `~ccdproc.image_collection.ImageFileCollection`. It constructs, given a d ... for data, fname in ic.data(imagetyp='LIGHT', return_fname=True): ... if data.mean() > 4000.: ... print(fname) - -Using `ccdproc` ---------------- - -.. toctree:: - :maxdepth: 1 - - ccddata.rst - image_combination.rst - reduction_toolbox.rst - image_management.rst - reduction_examples.rst - -.. automodapi:: ccdproc - :skip: CCDData - :skip: fits_ccddata_writer - :skip: fits_ccddata_reader - -.. automodapi:: ccdproc.utils.slices - -.. _GitHub repo: https://github.com/astropy/ccdproc diff --git a/docs/index.rst b/docs/index.rst index c0fec43b..fa365796 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -35,21 +35,30 @@ Getting started .. toctree:: :maxdepth: 1 - install.rst - overview.rst - citation.rst - contributing.rst - conduct.rst + install + overview + getting_started + citation + contributing + conduct + authors_for_sphinx + changelog + license +Using `ccdproc` +--------------- .. toctree:: - :maxdepth: 3 + :maxdepth: 1 - ccdproc.rst + ccddata + image_combination + reduction_toolbox + image_management + reduction_examples .. toctree:: :maxdepth: 1 - authors_for_sphinx - changelog - license + api + From db7e8a803c347fb39e71a179778d4a9aed9b2384 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 14:51:19 -0400 Subject: [PATCH 07/10] Modernize install instructions and links --- docs/install.rst | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/docs/install.rst b/docs/install.rst index 20c983f4..c7a3d24f 100644 --- a/docs/install.rst +++ b/docs/install.rst @@ -15,7 +15,7 @@ Ccdproc has the following requirements: - `reproject `_ One easy way to get these dependencies is to install a python distribution -like `anaconda `_. +like `anaconda`_. Installing ccdproc ================== @@ -23,25 +23,18 @@ Installing ccdproc Using pip ------------- -To install ccdproc with `pip `_, simply run:: +To install ccdproc with `pip `_, simply run:: - pip install --no-deps ccdproc - -.. note:: - - The ``--no-deps`` flag is optional, but highly recommended if you already - have Numpy installed, since otherwise pip will sometimes try to "help" you - by upgrading your Numpy installation, which may not always be desired. + pip install ccdproc Using conda ------------- -To install ccdproc with `anaconda `_, simply run:: +To install ccdproc with `anaconda`_, run:: conda install -c astropy ccdproc - Building from source ==================== @@ -52,7 +45,7 @@ Source packages ^^^^^^^^^^^^^^^ The latest stable source package for ccdproc can be `downloaded here -`_. +`_. Development repository ^^^^^^^^^^^^^^^^^^^^^^ @@ -71,7 +64,12 @@ To build ccdproc (from the root of the source tree):: To install ccdproc (from the root of the source tree):: - python setup.py install + pip install . + +To set up a development install in which changes to the source are immediately +reflected in the installed package (from the root of the source tree):: + + pip install -e . Testing a source code build of ccdproc -------------------------------------- @@ -81,3 +79,4 @@ installing ccdproc) is to run this from the root of the source tree:: python setup.py test +.. _anaconda: https://anaconda.com/ From 840b0d4150ed54e53fb6db8a0c7aebf2c47e8a89 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 14:51:33 -0400 Subject: [PATCH 08/10] Add link the CCD reduction guide --- docs/reduction_examples.rst | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/reduction_examples.rst b/docs/reduction_examples.rst index 1e8e5c1c..4dcd24c3 100644 --- a/docs/reduction_examples.rst +++ b/docs/reduction_examples.rst @@ -1,8 +1,9 @@ -Reduction examples -================== +Reduction examples and tutorial +=============================== Here are some examples and different repositories using `ccdproc`. +* `Extended guide to image calibration using ccdproc`_ * `ipython notebook`_ * `WHT basic reductions`_ * `pyhrs`_ @@ -10,7 +11,7 @@ Here are some examples and different repositories using `ccdproc`. * `astrolib`_ * `mont4k_reduction`_ *Processes multi-image-extension FITS files* - +.. _Extended guide to image calibration using ccdproc: https://mwcraig.github.io/ccd-as-book/00-00-Preface .. _ipython notebook: http://nbviewer.ipython.org/gist/mwcraig/06060d789cc298bbb08e .. _WHT basic reductions: https://github.com/crawfordsm/wht_reduction_scripts/blob/master/wht_basic_reductions.py .. _pyhrs: https://github.com/saltastro/pyhrs From a9e449a7d69ed144c2b67269d1a54bed86c26511 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 15:27:53 -0400 Subject: [PATCH 09/10] Address review comments --- docs/citation.rst | 2 +- docs/index.rst | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/citation.rst b/docs/citation.rst index bfef5feb..98595164 100644 --- a/docs/citation.rst +++ b/docs/citation.rst @@ -1,3 +1,3 @@ -.. _photutils_citation: +.. _ccdproc_citation: .. include:: ../CITATION.rst diff --git a/docs/index.rst b/docs/index.rst index fa365796..08530d30 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -29,6 +29,13 @@ throughout the reduction process. whether directly or as a dependency of another package, please include an :doc:`acknowledgment and/or citation `. +Detailed, step-by-step guide +---------------------------- + +In addition to the documentation here, a detailed guide to the topic of CCD +data reduction using ``ccdproc`` and other `astropy`_ tools is available here: +https://mwcraig.github.io/ccd-as-book/00-00-Preface + Getting started --------------- @@ -38,6 +45,7 @@ Getting started install overview getting_started + detailed_tutorial citation contributing conduct From cc9225c6b5e84de0b361bf52cd452a8bfd5b2e72 Mon Sep 17 00:00:00 2001 From: Matthew Craig Date: Sun, 28 Jul 2019 15:33:03 -0400 Subject: [PATCH 10/10] Remove broken link [docs only] --- docs/index.rst | 1 - 1 file changed, 1 deletion(-) diff --git a/docs/index.rst b/docs/index.rst index 08530d30..acbcd7ef 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -45,7 +45,6 @@ Getting started install overview getting_started - detailed_tutorial citation contributing conduct