Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tickets/dm 29363 #82

Merged
merged 63 commits into from
Apr 24, 2021
Merged
Show file tree
Hide file tree
Changes from 61 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
0ca4df1
Add index for faro documentation
leannep Apr 20, 2021
bf50a08
Add __init__.py
leannep Apr 20, 2021
18daeea
Add basic skeleton for high level documentation
leannep Apr 21, 2021
dcaca1d
Fix overline too short errors
leannep Apr 21, 2021
9a00ee0
Fix overline too short errors
leannep Apr 21, 2021
6d3e253
Add files for faro documentation
leannep Apr 21, 2021
3cab4f9
Add .idea to gitignore
leannep Apr 21, 2021
b11654e
Add index for faro documentation
leannep Apr 20, 2021
b455601
Add __init__.py
leannep Apr 20, 2021
331e304
Add basic skeleton for high level documentation
leannep Apr 21, 2021
1e9bbcf
Fix overline too short errors
leannep Apr 21, 2021
ad62402
Fix overline too short errors
leannep Apr 21, 2021
df9a69f
Add files for faro documentation
leannep Apr 21, 2021
6559888
Add .idea to gitignore
leannep Apr 21, 2021
7dc79b4
Merge branch 'tickets/DM-29363' of github.com:lsst/faro into tickets/…
leannep Apr 21, 2021
4f94a11
Remove docs for PA2Task, PA2TaskConfig metric, which is a threshold, …
leannep Apr 21, 2021
6150557
Update to new format
leannep Apr 21, 2021
5f6037b
Update faro documentation structure
leannep Apr 22, 2021
9aeca64
Add index for faro documentation
leannep Apr 20, 2021
8d68e64
Add __init__.py
leannep Apr 20, 2021
f99783f
Add basic skeleton for high level documentation
leannep Apr 21, 2021
782c5d9
Fix overline too short errors
leannep Apr 21, 2021
df1ca31
Fix overline too short errors
leannep Apr 21, 2021
b746714
Add files for faro documentation
leannep Apr 21, 2021
fab29c7
Add .idea to gitignore
leannep Apr 21, 2021
3eabfca
Add index for faro documentation
leannep Apr 20, 2021
c1863a4
Add basic skeleton for high level documentation
leannep Apr 21, 2021
10be95c
Add .idea to gitignore
leannep Apr 21, 2021
628588c
Update to new format
leannep Apr 21, 2021
8d9f0da
Update faro documentation structure
leannep Apr 22, 2021
1a359bb
Remove PA2 documentation reference
leannep Apr 22, 2021
4a5e42a
Remove PA2 documentation reference
leannep Apr 22, 2021
d1a2f27
Update doc conf file
leannep Apr 23, 2021
848bcda
First outline of high-level faro documentation
leannep Apr 23, 2021
9a80bc2
Correct phrase in documentation
leannep Apr 23, 2021
61ab458
Update README
leannep Apr 23, 2021
e675473
Remove incorrect TEx documentation files
leannep Apr 23, 2021
35bb27f
Add index for faro documentation
leannep Apr 20, 2021
d708ea9
Add __init__.py
leannep Apr 20, 2021
e3a0f83
Add basic skeleton for high level documentation
leannep Apr 21, 2021
0c4bcd4
Fix overline too short errors
leannep Apr 21, 2021
d4a265e
Fix overline too short errors
leannep Apr 21, 2021
a3dce6d
Add files for faro documentation
leannep Apr 21, 2021
69d72b6
Add .idea to gitignore
leannep Apr 21, 2021
e08f47c
Add index for faro documentation
leannep Apr 20, 2021
5115ad8
Add basic skeleton for high level documentation
leannep Apr 21, 2021
c8e4603
Add .idea to gitignore
leannep Apr 21, 2021
7a38ca6
Update to new format
leannep Apr 21, 2021
4ed4ae7
Update faro documentation structure
leannep Apr 22, 2021
ef5b72c
Remove PA2 documentation reference
leannep Apr 22, 2021
2c00886
Remove PA2 documentation reference
leannep Apr 22, 2021
a549bdd
Add index for faro documentation
leannep Apr 20, 2021
e620c9d
Add basic skeleton for high level documentation
leannep Apr 21, 2021
2e4e671
Add .idea to gitignore
leannep Apr 21, 2021
5fa3108
Add index for faro documentation
leannep Apr 20, 2021
fe891ed
Add basic skeleton for high level documentation
leannep Apr 21, 2021
eb4aef0
Update faro documentation structure
leannep Apr 22, 2021
c32a87e
First outline of high-level faro documentation
leannep Apr 23, 2021
532d50b
Correct phrase in documentation
leannep Apr 23, 2021
d92db73
Update README
leannep Apr 23, 2021
ac48837
Merge branch 'tickets/DM-29363' of github.com:lsst/faro into tickets/…
leannep Apr 23, 2021
5f907b9
Fix duplicate import error
leannep Apr 24, 2021
7790b63
Update description of measurement and summary as per Jeff Carlin's re…
leannep Apr 24, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# metric-pipeline-tasks
Landing place for metric tasks that will be used in validation and verification.
# lsst.faro

lsst.faro is the new Gen3 middleware- and PipelineTask- based package for computing scientific performance metrics.

See the README in the `tasks` directory for example usage.
2 changes: 1 addition & 1 deletion doc/conf.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
"""Sphinx configuration file for an LSST stack package.

"""Sphinx configuration file for an LSST stack package.
This configuration only affects single-package Sphinx documentation builds.
"""

Expand Down
1 change: 1 addition & 0 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ faro documentation
.. toctree::
:maxdepth: 1

lsst.faro/index
lsst.faro.base/index
lsst.faro.measurement/index
lsst.faro.preparation/index
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-config-topic:: lsst.faro.measurement.VisitMeasurement.VisitMeasurementTaskConfig

###################
##########################
VisitMeasurementTaskConfig
###################
##########################

.. _lsst.faro.measurement.VisitMeasurement.VisitMeasurementTaskConfig-configs:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-task-topic:: lsst.faro.measurement.PatchMeasurement.PatchMeasurementTask

#############
####################
PatchMeasurementTask
#############
####################

.. _lsst.faro.measurement.PatchMeasurement.PatchMeasurementTask-api:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-config-topic:: lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedMultiBandPreparationTaskConfig

###################################
##########################################
PatchMatchedMultiBandPreparationTaskConfig
###################################
##########################################

.. _lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedMultiBandPreparationTaskConfig-configs:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-config-topic:: lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedPreparationTaskConfig

##########################
#################################
PatchMatchedPreparationTaskConfig
##########################
#################################

.. _lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedPreparationTaskConfig-configs:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-config-topic:: lsst.faro.preparation.MatchedPreparationTasks.TractMatchedPreparationTaskConfig

##########################
#################################
TractMatchedPreparationTaskConfig
##########################
#################################

.. _lsst.faro.preparation.MatchedPreparationTasks.TractMatchedPreparationTaskConfig-configs:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-task-topic:: lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedMultiBandPreparationTask

#############################
####################################
PatchMatchedMultiBandPreparationTask
#############################
####################################

.. _lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedMultiBandPreparationTask-api:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-task-topic:: lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedPreparationTask

####################
###########################
PatchMatchedPreparationTask
####################
###########################

.. _lsst.faro.preparation.MatchedPreparationTasks.PatchMatchedPreparationTask-api:

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
.. lsst-task-topic:: lsst.faro.preparation.MatchedPreparationTasks.TractMatchedPreparationTask

####################
###########################
TractMatchedPreparationTask
####################
###########################

.. _lsst.faro.preparation.MatchedPreparationTasks.TractMatchedPreparationTask-api:

Expand Down
50 changes: 50 additions & 0 deletions doc/lsst.faro/design.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
.. _lsst.faro-design:

.. py:currentmodule:: lsst.faro

.. _lsst.faro-references:

References and prior art
========================

``lsst.faro`` builds on
- The lsst.verify framework for computing data quality metrics, described in `DMTN-098 <https://dmtn-098.lsst.io>`_ and `DMTN-057 <https://dmtn-057.lsst.io>`_

- The validate_drp package, the Gen2 middleware based code for computing KPMs, as described in `DMTN-008 <https://dmtn-008.lsst.io>`_

.. _lsst.faro-design_goals:

Design goals
============

Here we outline the architecture and design concepts of ``lsst.faro``

- Enable the computation of scalar performance metrics for LSST

- Gen3 based

.. _lsst.faro-architecture:

Architecture
============

``faro`` is based on the :ref:``lsst.verify`` framework for computing key performance metrics.


.. _lsst.faro-package_organization:

Organization of the faro package
================================

Directory structure
-------------------

- Preparation: produces an intermediate data product
- Measurement: produces an lsst.verify.Measurement
leannep marked this conversation as resolved.
Show resolved Hide resolved
- Summary: takes collection of lsst.verify.Measurement objects as input and produces an ``lsst.verify.Measurement``


Naming conventions
------------------


73 changes: 73 additions & 0 deletions doc/lsst.faro/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
.. py:currentmodule:: lsst.faro

.. _lsst.faro:

#########
lsst.faro
#########

.. toctree::

The ``lsst.faro`` module contains code for computing scientific performance metrics on the outputs of the LSST science pipelines.

Prior to the development of the Gen3 middleware, the Gen2-based ``lsst.validate.drp`` package computed scientific performance metrics.
``lsst.faro`` is the new Gen3 middleware- and PipelineTask- based package for computing scientific performance metrics.
The algorithms implemented in ``validate_drp`` were ported as-is to run in ``lsst.faro``.
``validate_drp`` is now deprecated; all future development of metrics will be carried out in ``lsst.faro``.

.. _lsst.faro.design:

Design and Development
======================

.. toctree::
:maxdepth: 1

design.rst

.. _lsst.faro.using:

Using faro
==========

.. toctree::
:maxdepth: 1

using.rst

.. _lsst.faro.contributing:

Contributing
============

``lsst.faro`` is developed at https://github.com/lsst/faro.
You can find Jira issues for this module under the `faro <https://jira.lsstcorp.org/issues/?jql=project%20%3D%20DM%20AND%20component%20%3D%20faro>`_ component.

.. _lsst.faro.api-ref:

Python API reference
====================

.. automodapi:: lsst.faro
:no-main-docstr:
:no-inheritance-diagram:

.. automodapi:: lsst.faro.base
:no-main-docstr:
:no-inheritance-diagram:

.. automodapi:: lsst.faro.preparation
:no-main-docstr:
:no-inheritance-diagram:

.. automodapi:: lsst.faro.measurement
:no-main-docstr:
:no-inheritance-diagram:

.. automodapi:: lsst.faro.summary
:no-main-docstr:
:no-inheritance-diagram:

.. automodapi:: lsst.faro.utils
:no-main-docstr:
:no-inheritance-diagram:
33 changes: 33 additions & 0 deletions doc/lsst.faro/using.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
.. _faro_using:

.. py:currentmodule:: lsst.faro

.. _lsst.faro.getting_started:

Getting started
===============

If you are new to the LSST science pipelines, you should first install the LSST science pipelines following one of the methods described at The LSST Science Pipelines -- Installation (add link).

.. _lsst.faro-running:

Running faro
============


- Running and building ``lsst.faro`` locally.
- Running faro on an reprocessed Gen3 repository at NCSA

.. _lsst.faro-adding_a_metric:

Adding a metric to faro
=======================

1. Identify the analysis context

2. Implement Measurement task

3. Implement unit tests

4. Add to pipeline yaml file

1 change: 1 addition & 0 deletions doc/manifest.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
# # List of names of Python modules in this package.
# # For each module there is a corresponding module doc subdirectory.
modules:
- "lsst.faro"
- "lsst.faro.base"
- "lsst.faro.measurement"
- "lsst.faro.preparation"
Expand Down
2 changes: 2 additions & 0 deletions python/lsst/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)
2 changes: 2 additions & 0 deletions python/lsst/faro/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
import pkgutil
__path__ = pkgutil.extend_path(__path__, __name__)
10 changes: 9 additions & 1 deletion tests/test_photKPM.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,22 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.

"""Unit tests for the metrics measurement system: PA1, PA2, PF1.
"""Unit tests for the metrics measurement system: PA1, PF1.
"""

import unittest
import yaml
import os
import random

from lsst.utils import getPackageDir
from lsst.afw.table import SimpleCatalog
from lsst.faro.measurement import PA1Task, PF1Task
import unittest
import yaml
import os
import random

from lsst.utils import getPackageDir
from lsst.afw.table import SimpleCatalog
from lsst.faro.measurement import PA1Task, PF1Task
Expand Down