dataesr/scientific-paragraphs-categorization huggingface dataset:
Atmospheric correction at high viewing and sun zenith angles The atmospheric correction for high air mass conditions (high sensor and/or sun zenith angles) is a major challenge for geostationary ocean colour data. This is not fundamentally a new problem, because data, e. g. from MERIS and MODIS, is already acquired for high sun zenith angles at polar latitudes and at temperate latitudes in winter. This data is generally discarded via masking procedures as too difficult to process, but the data loss is not considered to be critical. However, the equatorial position of geostationary sensors means that sensor zenith angle is systematically high at high latitudes throughout the year. Moreover the possibility of exploiting data throughout the day with geostationary sensors will depend critically on any limit on acceptable sun zenith anglethis limit will be reached every day in every location and must therefore be pushed as far as possible.
Multiscale algorithms for improving spatial resolution The difficulties of achieving high spatial resolution which are already challenging at the sub-satellite point from the geostationary orbit, but which are further exacerbated by high sensor zenith angles, may stimulate the development of new multiple length-scale algorithms. For SeaWiFS and MERIS all spectral bands were acquired at the same spatial resolution and L2 data processing naturally preserves the finest spatial resolution unless computational requirements imposes practical limits. MODIS was designed with ocean colour bands at 1000 m resolution, but with a few higher resolution (250 m or 500 m) bands designed for land/cloud/aerosol applications. Although not originally foreseen for such purposes, some algorithms  (Hu et al. , 2004; Miller & McKee, 2004)  have been designed to take advantage of these higher resolution MODIS bands for mapping of marine suspended particulate matter.
SSO + GEO synergy Synergistic use of SSO and GEO ocean colour data may offer new opportunities. Current studies with synergistic use of SSO ocean colour sensors have focussed particularly on the merging of long term datasets for chlorophyll for the purposes of studying climate change with the prime motivation being to overlap limited duration missions into a longer time series (International Ocean Colour Coordinating Group (IOCCG), 2007, 2010). There have been a limited number of studies to use multiple observations within a day to study high frequency variability, e. g. from AVHRR  (Stumpf, Gelfenbaum, & Pennock, 1993). In such applications, intersensor matching of calibration and algorithms can be challenging, because uncertainties must be keep lower than the natural variability which is to be observed.
Finally the extra information on bidirectional reflectance provided by viewing a stable target over the day for different sun angles and (potentially) by dual viewing from geostationary sensors at different longitudes, provides a wealth of extra information on the ocean-atmosphere system which may be used to improve atmospheric correction and/or retrieval of extra marine parameters. Whereas SSO have the distinct advantage for global applications of near-daily acquisition of data for the entire earth from a single sensor, the early successes of the GOCI mission raise questions about the optimal approach for ocean colour remote sensing of regional seas at tropical and temperature latitudes. The spectral resolution of GOCI is certainly limited, with only 8 visible/near infrared bands, none of the Short Wave Infrared bands that are important for turbid water atmospheric correction  (Wang & Shi, 2005)  and insufficient bands in the 660-710 nm range for optimal retrieval of chlorophyll absorption in turbid waters and of chlorophyll fluorescence.
However, the spectral resolution of future geostationary sensors could clearly be improved. Considering that GOCI now provides ocean colour data at 500 m spatial resolution and an hourly temporal resolution for the Korea/China/Japan region, it is relevant to consider how SSO and GEO ocean colour sensors should be best combined in future for regional applications such as coastal water quality monitoring, harmful algae bloom detection, sediment transport and studying or monitoring the functioning of ecosystems.
Acknowledgements This review was carried out in the framework of the  GEOCOLOUR  project, funded by the  Belgian Science Policy Office STEREO programme  under contract  SR/00/139. Atmospheric correction at high zenith angle was reviewed under European Space Agency contract  4000107111/ 12/NL/AF. This review benefitted from discussions with the members of the IOCCG working group on geostationary ocean colour, including  David Antoine  and  Jean-Loup Bézy , with the GEOCOLOUR steering committee including  Youngje Park ,  Ewa Kwiatkowska  and  Hans Bonekamp , with the GOCI team at the  Korea Ocean Satellite Center (KOSC)  and with  Marc Bouvet  and  Didier Ramon. EUMETSAT  and the  Royal Belgian Meteorological Institute (IRM/KMI ) are acknowledged for supply of SEVIRI data. NASA is acknowledged for the supply of MODIS data.
Introduction The year 2012 marked the 350 th anniversary of the publication of John Graunt"s Bills of Mortality and -arguably -the birth of demography as a formal discipline of scientific enquiry. In accordance with the long-standing empirical tradition of demography as a standalone research area within social sciences  (Morgan and Lynch 2001; Courgeau 2012) , this paper aims to include measurable data in the studies of the changes in demographic paradigms and theories. After  Courgeau and Franck (2007) , and following the original suggestions of  Granger (1994) , we interpret paradigms as studies of different "scientific objects". To study their dynamics, we propose using the free online tool, Google Books Ngram Viewer. This paper is entirely devoted to presenting and interpreting selected descriptive findings from the paradigmatic quest mentioned above, and is therefore structured as follows.
Ideally, the analysis should strive for one-to-one relationships between search terms and paradigms or approaches, indicating semantic unambiguity. In reality, there are examples of one-to-many (e. g. , period analysis), many-to-one, and many-to-many (e. g. , event-history analysis and biographical analysis) relationships. In such cases, even with well-devised queries, results are still very approximate. Separate challenges involve the normalisation of Google Ngram output and the design of appropriate measures for presentation. The standard normalisation, performed through dividing by the total annual numbers of n-grams, may be found problematic, as it may artificially decrease the frequency of n-grams in the most recent years due to the constant inflow of new elements into the Google Books Ngram database  (Bentley et al.
Acknowledgements A previous version of this paper was first presented at Chaire Quetelet, Louvain-la-Neuve, in November 2013. JB and ES gratefully acknowledge the Engineering and Physical Sciences Research Council grant EP/H021698/1 "Care Life Cycle", funded within the "Complexity Science in the Real World" theme. The authors are grateful to two anonymous Reviewers and the Associate Editor of Demographic Research, Parfait Eloundou-Enyegue, for their comments that helped us improve the earlier draft. All views and interpretations in this paper are those of the authors and should not be attributed to any institution with which they are affiliated.
s!m else new t in (r?m. t!(m*n)) | Fact(n-1,t,s) Here, r?m waits to receive a value for m on r, and s!m sends the value m on s. The expression new t in P creates a fresh communication channel t and executes P. If the above code is invoked with r!1 | Fact(n,r,s), then there will be a synchronisation between r!1 and the input r?m in the body of Fact(n,r,s). In turn, this may delegate the computation of the factorial to another process in parallel by means of a subsequent synchronisation on a new channel t. That is, in order to compute the factorial of n, Fact builds a network of n + 1 nodes, where node i takes as input a value m and outputs m*i. Due to the inability of statically reasoning about unbounded structures, the current analysers usually return false positives when fed with Fact. For example, this is the case of TyPiCal  [12, 11] , a tool developed for pi-calculus.
scikit-image is an image processing library that implements algorithms and utilities for use in research, education and industry applications. It is released under the liberal "Modified BSD" open source license, provides a well-documented API in the Python programming language, and is developed by an active, international team of collaborators. In this paper we highlight the advantages of open source to achieve the goals of the scikit-image library, and we showcase several real-world image processing applications that use scikit-image.
INTRODUCTION In our data-rich world, images represent a significant subset of all measurements made. Examples include DNA microarrays, microscopy slides, astronomical observations, satellite maps, robotic vision capture, synthetic aperture radar images, and higherdimensional images such as 3-D magnetic resonance or computed tomography imaging. Exploring these rich data sources requires sophisticated software tools that should be easy to use, free of charge and restrictions, and able to address all the challenges posed by such a diverse field of analysis. This paper describes scikit-image, a collection of image processing algorithms implemented in the Python programming language by an active community of volunteers and available under the liberal BSD Open Source license. The rising popularity of Python as a scientific programming language, together with the increasing availability of a large eco-system of complementary tools, make it an ideal environment in which to produce an image processing toolkit.
The project aims are: 1. To provide high quality, well-documented and easy-to-use implementations of common image processing algorithms. Such algorithms are essential building blocks in many areas of scientific research, algorithmic comparisons and data exploration. In the context of reproducible science, it is important to be able to inspect any source code used for algorithmic flaws or mistakes. Additionally, scientific research often requires custom modification of standard algorithms, further emphasizing the importance of open source. 2. To facilitate education in image processing. The library allows students in image processing to learn algorithms in a hands-on fashion by adjusting parameters and modifying code. In addition, a novice module is provided, not only for teaching programming in the "turtle graphics" paradigm, but also to familiarize users with image concepts such as color and dimensionality.
GETTING STARTED One of the main goals of scikit-image is to make it easy for any user to get started quickly-especially users already familiar with Python's scientific tools. To that end, the basic image is just a standard NumPy array, which exposes pixel data directly to the user. A new user can simply the load an image from disk (or use one of scikit-image's sample images), process that image with one or more image filters, and quickly display the results: from skimage import data , io , filter image = data. coins () # o r any NumPy a r r a y ! edges = filter. sobel(image) io. imshow (edges) The above demonstration loads data. coins, an example image shipped with scikit-image. For a more complete example, we import NumPy for array manipulation and matplotlib for plotting  (van der Walt et al.
LIBRARY OVERVIEW The scikit-image project started in August of 2009 and has received contributions from more than 100 individuals 2. The package can be installed on all major platforms (e. g. BSD, GNU/Linux, OS X, Windows) from, amongst other sources, the Python Package Index (PyPI) 3  , Continuum Analytics Anaconda 4  , Enthought Canopy 5  , Python(x,y) 6  , NeuroDebian  (Halchenko and Hanke, 2012)  and GNU/Linux distributions such as Ubuntu 7. In March 2014 alone, the package was downloaded more than 5000 times from PyPI 8. As of version 0. 10, the package contains the following sub-modules: • color: Color space conversion. • data: Test images and example data. • draw: Drawing primitives (lines, text, etc. ) that operate on NumPy arrays. • exposure: Image intensity adjustment, e. g. , histogram equalization, etc.
DATA FORMAT AND PIPELINING scikit-image represents images as NumPy arrays (van der  Walt et al. , 2011) , the de facto standard for storage of multi-dimensional data in scientific Python. Each array has a dimensionality, such as 2 for a 2-D grayscale image, 3 for a 2-D multi-channel image, or 4 for a 3-D multi-channel image; a shape, such as (M, N, 3) for an RGB color image with M vertical and N horizontal pixels; and a numeric data type, such as float for continuous-valued pixels and uint8 for 8-bit pixels. Our use of NumPy arrays as the fundamental data structure maximizes compatibility with the rest of the scientific Python 9 http://pillow. readthedocs. org/en/latest/, Accessed 2015-05-30 10 http://freeimage. sourceforge. net/, Accessed 2015-05-15 11 http://scikit-image. org/docs/dev/api/api.
DEVELOPMENT PRACTICES The purpose of scikit-image is to provide a high-quality library of powerful, diverse image processing tools free of charge and restrictions. These principles are the foundation for the development practices in the scikit-image community. The library is licensed under the Modified BSD license, which allows unrestricted redistribution for any purpose as long as copyright notices and disclaimers of warranty are maintained (Regents of the University of California, 1999). It is compatible with GPL licenses, so users of scikit-image can choose to make their code available under the GPL. However, unlike the GPL, it does not require users to open-source derivative work (BSD is not a so-called copyleft license). Thus, scikit-image can also be used in closed-source, commercial environments.
The development team of scikit-image is an open community that collaborates on the GitHub platform for issue tracking, code review, and release management 12. Google Groups is used as a public discussion forum for user support, community development, and announcements  13. scikit-image complies with the PEP8 coding style standard  (van Rossum et al. , 2001 ) and the NumPy documentation format  (Gommers, 2010)  in order to provide a consistent, familiar user experience across the library similar to other scientific Python packages. As mentioned earlier, the data representation used is n-dimensional NumPy arrays, which ensures broad interoperability within the scientific Python ecosystem. The majority of the scikit-image API is intentionally designed as a functional interface which allows one to simply apply one function to the output of another.
This modular approach also lowers the barrier of entry for new contributors, since one only needs to master a small part of the entire library in order to make an addition. We ensure high code quality by a thorough review process using the pull request interface on GitHub 14. This enables the core developers and other interested parties to comment on specific lines of proposed code changes, and for the proponents of the changes to update their submission accordingly. Once all the changes have been approved, they can be merged automatically. This process applies not just to outside contributions, but also to the core developers. The source code is mainly written in Python, although certain performance critical sections are implemented in Cython, an optimising static compiler for Python  (Behnel et al.
, 2011). scikit-image aims to achieve full unit test coverage, which is above 87% as of release 0. 10 and continues to rise. A continuous integration system 15  automatically checks each commit for unit test coverage and failures on both Python 2 and Python 3. Additionally, the code is analyzed by flake8  (Cordasco, 2010)  to ensure compliance with the PEP8 coding style standards  (van Rossum et al. , 2001). Finally, the properties of each public function are documented thoroughly in an API reference guide, embedded as Python docstrings and accessible through the official project homepage or an interactive Python console. Short usage examples are typically included inside the docstrings, and new features are accompanied by longer, self-contained example scripts added to the narrative documentation and compiled to a gallery on the project website.
USAGE EXAMPLES Research Often, a disproportionately large component of research involves dealing with various image data-types, color representations, and file format conversion. scikit-image offers robust tools for converting between image data-types  (Microsoft, 1995; Munshi and Leech, 2010; Paeth, 1990)  and to do file input/output (I/O) operations. Our purpose is to allow investigators to focus their time on research, instead of expending effort on mundane low-level tasks. The package includes a number of algorithms with broad applications across image processing research, from computer vision to medical image analysis. We refer the reader to the current API documentation for a full listing of current capabilities  16. In this section we illustrate two real-world usage examples of scikit-image in scientific research.
The measure. profile_line function measures the fluorescence along the cord, directly proportional to the number of cells. We can thus monitor the recovery process and determine which treatments prevent or accelerate recovery. The online gallery of examples not only provides an overview of the functionality available in the package but also introduces many of the algorithms commonly used in image processing. This visual index also helps beginners overcome a common entry barrier: locating the class (denoising, segmentation, etc. ) and name of operation desired, without being proficient with image processing jargon. For many functions, the documentation includes links to research papers or Wikipedia pages to further guide the user. Demonstrating the broad utility of scikit-image in education, thirteen-year-old Rishab Gargeya of the Harker School won the Synopsys Silicon Valley Science and Technology Championship using scikit-image in his project, "A software based approach for automated pathology diagnosis of diabetic retinopathy in the human retina" (science-fair.
org, 2014). We have delivered image processing tutorials using scikit-image at various annual scientific Python conferences, such as PyData 2012, SciPy India 2012, and EuroSciPy 2013. Course materials for some of these sessions are found in  Haenel et al. (2014)  and are licensed under the permissive CC-BY license (Creative Commons, 2013). These typically include an introduction to the package and provide intuitive, handson introductions to image processing concepts. The well documented application programming interface (API) along with tools that facilitate visualization contribute to the learning experience, and make it easy to investigate the effect of different algorithms and parameters. For example, when investigating denoising, it is easy to observe the difference between applying a median filter (filter.
Industry Due to the breadth and maturity of its code base, as well as the its commercial-friendly license, scikit-image is well suited for industrial applications. BT Imaging (btimaging. com) designs and builds tools that use photoluminescence (PL) imaging for photovoltaic applications. PL imaging can characterize the quality of multicrystalline silicon wafers by illuminating defects that are not visible under standard viewing conditions. The left panel of Figure  4  shows an optical image of a silicon wafer, and the center panel shows the same wafer using PL imaging. In the right panel, the wafer defects and impurities have been detected through automated image analysis. scikit-image plays a key role in the image processing pipeline. For example, a Hough transform (transform. hough_line) finds the wafer edges in order to segment the wafer from the background.
Data loading The "ImageCollection" class provides an easy way of representing multiple images on disk. For efficiency, images are not read until accessed. from skimage import io ic = io. ImageCollection ('data /* ') Figure  5 (a) shows the Petra dataset, which displays the same facade from two different angles. For this demonstration, we will estimate a projective transformation that relates the two images. Since the outer parts of these photographs do not comform well to such a model, we select only the central parts. To further speed up the demonstration, images are downscaled to 25% of their original size. Feature detection and matching "Oriented FAST and rotated BRIEF" (ORB) features  (Rublee et al. , 2011)  are detected in both images. Each feature yields a binary descriptor; those are used to find the putative matches shown in Figure  5.
Related work In this section, we describe other libraries with similar goals to ours. Within the scientific Python ecosystem, Mahotas contains many similar functions, and is furthermore also designed to work with NumPy arrays  (Coelho, 2013). The major philosophical difference between Mahotas and scikit-image is that Mahotas is almost exclusively written in templated C++, while scikit-image is written in Python and Cython. We feel that our choice lowers the barrier of entry for new contributors. However, thanks to the interoperability between the two provided by the NumPy array data format, users don't have to choose between them, and can simply use the best components of each. ImageJ and its batteries-included Fiji distribution are probably the most popular open-source tools for image analysis  (Schneider et al.
, 2012; Schindelin et al. , 2012). Although Fiji's breadth of functionality is unparalleled, it is centered around interactive, GUI use. For many developers, then, scikit-image offers several advantages. Although Fiji offers a programmable macro mode that supports many scripting languages, many of the macro functions activate GUI elements and cannot run in headless mode. This is problematic for data analysis in high-performance computing cluster environments or web backends, for example. Additionally, Fiji's inclusive plugin policy results in an inconsistent API and variable documentation quality. Using scikit-image to develop new functionality or to build batch applications for distributed computing is often much simpler, thanks to its consistent API and the wide distribution of the scientific Python stack.
In many respects, the image processing toolbox of the Matlab environment is quite similar to scikit-image. For example, its API is mostly functional and applies to generic multidimensional numeric arrays. However, Matlab's commercial licensing can be a significant nuisance to users. Additionally, the licensing cost increases dramatically for parallel computing, with per-worker pricing 18. Finally, the closed source nature of the toolbox prevents users from learning from the code or modifying it for specific purposes, which is a common necessity in scientific research. We refer readers back to the Development Practices section for a summary of the practical and philosophical advantages of our open-source licensing. OpenCV is a BSD-licensed open-source library focused on computer vision, with a separate module for image processing  (Bradski, 2000).