tasks.workflows

Workflow tasks.

Module Contents

Classes

Curate

Run Curation phase.

Annotate

Run Annotation phase.

Repair

Run Repair phase.

Functions

save_reduced_df(df, data_dir, df_path='reduced_df.csv', parents=None)

Save reduced version of the report.

tasks.workflows.save_reduced_df(df, data_dir, df_path='reduced_df.csv', parents=None)

Save reduced version of the report.

class tasks.workflows.Curate(*args, **kwargs)

Bases: data_validation_framework.task.ValidationWorkflow

Run Curation phase.

The complete phase has the following dependency graph:

strict digraph {
	graph [bb="0,0,708,504",
		bgcolor=transparent,
		fontsize=9,
		layout=dot,
		rankdir=TB,
		size="7.0, 15.0"
	];
	node [fillcolor=white,
		fontname="\"Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans\"",
		fontsize=9,
		height=0.25,
		label="\N",
		shape=box,
		style="setlinewidth(0.5),filled"
	];
	edge [arrowsize=0.5,
		style="setlinewidth(0.5)"
	];
	Curate	 [color=red,
		penwidth=1.5,
		pos="349,495",
		width=0.75];
	Collect	 [URL="../../tasks/curation/index.html#tasks.curation.Collect",
		pos="81,9",
		width=0.75];
	Curate -> Collect	 [pos="e,67.259,18.218 321.57,493.52 256.38,489.6 94.162,477.3 48,450 17.701,432.08 0,422.2 0,387 0,387 0,387 0,117 0,75.299 39.128,39.394 \
62.994,21.372"];
	ExtractMarkers	 [URL="../../tasks/curation/index.html#tasks.curation.ExtractMarkers",
		pos="81,387",
		width=1.1806];
	Curate -> ExtractMarkers	 [pos="e,72.284,396.13 321.9,492.82 252.79,486.97 74.198,470.05 57,450 44.57,435.51 57.726,413.9 68.907,400.14"];
	Sanitize	 [URL="../../tasks/curation/index.html#tasks.curation.Sanitize",
		pos="462,117",
		width=0.75];
	Curate -> Sanitize	 [pos="e,434.85,120.81 321.81,491.92 269.94,484.38 162,459.92 162,387 162,387 162,387 162,225 162,168.64 351.78,133.61 429.45,121.64"];
	CheckNeurites	 [URL="../../tasks/curation/index.html#tasks.curation.CheckNeurites",
		pos="517,63",
		width=1.1389];
	Curate -> CheckNeurites	 [pos="e,558.44,67.928 376.09,494.01 443.88,491.09 618.8,480.71 667,450 695.18,432.05 708,420.41 708,387 708,387 708,387 708,171 708,104.81 \
620.01,78.717 563.47,68.784"];
	Recenter	 [URL="../../tasks/curation/index.html#tasks.curation.Recenter",
		pos="462,171",
		width=0.77778];
	Curate -> Recenter	 [pos="e,462,180.25 371.06,485.9 403.94,470.7 462,436.8 462,387 462,387 462,387 462,279 462,245.44 462,206.01 462,185.32"];
	DetectErrors	 [URL="../../tasks/curation/index.html#tasks.curation.DetectErrors",
		pos="595,387",
		width=1.0278];
	Curate -> DetectErrors	 [pos="e,613.29,396.1 376.25,492.95 447.14,487.34 633.11,470.75 651,450 666.61,431.89 639.49,411.24 617.82,398.66"];
	PlotMarkers	 [URL="../../tasks/curation/index.html#tasks.curation.PlotMarkers",
		pos="100,441",
		width=0.94444];
	Curate -> PlotMarkers	 [pos="e,134.22,448.42 321.88,489.12 277.77,479.55 190.29,460.58 139.34,449.53"];
	PlotErrors	 [URL="../../tasks/curation/index.html#tasks.curation.PlotErrors",
		pos="520,441",
		width=0.83333];
	Curate -> PlotErrors	 [pos="e,491.32,450.06 376.1,486.44 405.95,477.02 454.01,461.84 486.28,451.65"];
	ErrorsReport	 [URL="../../tasks/curation/index.html#tasks.curation.ErrorsReport",
		pos="605,441",
		width=1.0139];
	Curate -> ErrorsReport	 [pos="e,568.36,448.73 376.4,489.22 421.26,479.76 510.65,460.9 563.38,449.78"];
	Align	 [URL="../../tasks/curation/index.html#tasks.curation.Align",
		pos="369,279",
		width=0.75];
	Curate -> Align	 [pos="e,370.05,288.02 353.76,486 358.16,477.13 364.41,463.04 367,450 378.38,392.7 373.45,322.47 370.56,293.03"];
	Orient	 [URL="../../tasks/curation/index.html#tasks.curation.Orient",
		pos="407,225",
		width=0.75];
	Curate -> Orient	 [pos="e,409.44,234.17 361.38,485.81 382.69,468.85 424,430.37 424,387 424,387 424,387 424,333 424,299.02 415.69,259.76 410.69,239.21"];
	EnsureNeuritesOutsideSoma	 [URL="../../tasks/curation/index.html#tasks.curation.EnsureNeuritesOutsideSoma",
		pos="274,333",
		width=2.0278];
	Curate -> EnsureNeuritesOutsideSoma	 [pos="e,262.27,342.28 321.69,489.59 299,483.68 267.54,471.97 249,450 227.98,425.08 223.61,408.54 235,378 239.66,365.51 249.51,354.19 258.15,\
346.03"];
	Resample	 [URL="../../tasks/curation/index.html#tasks.curation.Resample",
		pos="274,387",
		width=0.81944];
	Curate -> Resample	 [pos="e,267.25,396.22 321.57,489.77 299.89,484.03 271.03,472.48 257,450 247.41,434.63 256.43,413.88 264.56,400.47"];
	PlotMorphologies	 [URL="../../tasks/curation/index.html#tasks.curation.PlotMorphologies",
		pos="312,441",
		width=1.2778];
	Curate -> PlotMorphologies	 [pos="e,318.37,450.3 342.56,485.59 336.67,477 327.89,464.19 321.25,454.5"];
	ExtractMarkers -> Collect	 [pos="e,81,18.246 81,377.75 81,359.09 81,315.56 81,279 81,279 81,279 81,117 81,83.437 81,44.006 81,23.324"];
	Sanitize -> CheckNeurites	 [pos="e,507.53,72.298 471.58,107.59 480.49,98.844 493.85,85.728 503.78,75.983"];
	CheckNeurites -> Collect	 [pos="e,108.15,12.363 475.98,57.92 389.86,47.254 191.74,22.715 113.57,13.034"];
	Recenter -> Sanitize	 [pos="e,462,126.3 462,161.59 462,153.31 462,141.11 462,131.56"];
	DetectErrors -> CheckNeurites	 [pos="e,525.35,72.025 591.7,377.89 585.34,359.48 572,316.38 572,279 572,279 572,279 572,171 572,133.25 544.98,95.359 528.82,76.073"];
	PlotMarkers -> ExtractMarkers	 [pos="e,84.272,396.3 96.69,431.59 93.721,423.15 89.322,410.65 85.936,401.03"];
	PlotErrors -> Recenter	 [pos="e,469.29,180.21 518.57,431.78 515.8,413.16 510,369.72 510,333 510,333 510,333 510,279 510,242.18 486.42,203.92 472.31,184.33"];
	PlotErrors -> DetectErrors	 [pos="e,582.47,396.03 532.72,431.84 545.3,422.79 564.6,408.89 578.38,398.97"];
	ErrorsReport -> DetectErrors	 [pos="e,596.72,396.3 603.26,431.59 601.71,423.23 599.42,410.88 597.65,401.3"];
	Align -> Orient	 [pos="e,400.46,234.3 375.62,269.59 381.67,261 390.68,248.19 397.5,238.5"];
	Orient -> Recenter	 [pos="e,452.53,180.3 416.58,215.59 425.49,206.84 438.85,193.73 448.78,183.98"];
	EnsureNeuritesOutsideSoma -> Align	 [pos="e,353.12,288.03 290.12,323.84 306.18,314.71 330.91,300.65 348.4,290.71"];
	Resample -> EnsureNeuritesOutsideSoma	 [pos="e,274,342.3 274,377.59 274,369.31 274,357.11 274,347.56"];
	PlotMorphologies -> Resample	 [pos="e,280.54,396.3 305.38,431.59 299.33,423 290.32,410.19 283.5,400.5"];
}
class tasks.workflows.Annotate(*args, **kwargs)

Bases: data_validation_framework.task.ValidationWorkflow

Run Annotation phase.

The complete phase has the following dependency graph:

strict digraph {
	graph [bb="0,0,465.73,180",
		bgcolor=transparent,
		fontsize=9,
		layout=dot,
		rankdir=TB,
		size="7.0, 15.0"
	];
	node [fillcolor=white,
		fontname="\"Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans\"",
		fontsize=9,
		height=0.25,
		label="\N",
		shape=box,
		style="setlinewidth(0.5),filled"
	];
	edge [arrowsize=0.5,
		style="setlinewidth(0.5)"
	];
	Annotate	 [color=red,
		penwidth=1.5,
		pos="188.73,171",
		width=0.80556];
	CollectCurated	 [URL="../../tasks/annotation/index.html#tasks.annotation.CollectCurated",
		pos="213.73,9",
		width=1.1528];
	Annotate -> CollectCurated	 [pos="e,171.81,12.191 159.64,164.86 97.957,150.54 -36.664,111.74 9.7266,54 29.037,29.966 112.67,18.007 166.68,12.685"];
	MType	 [URL="../../tasks/annotation/index.html#tasks.annotation.MType",
		pos="45.727,63",
		width=0.75];
	Annotate -> MType	 [pos="e,51.143,72.206 162.48,161.97 142.79,154.37 115.89,142.15 95.727,126 78.101,111.88 62.791,90.461 53.905,76.597"];
	HardLimit	 [URL="../../tasks/annotation/index.html#tasks.annotation.HardLimit",
		pos="243.73,63",
		width=0.84722];
	Annotate -> HardLimit	 [pos="e,239.05,72.185 193.42,161.79 203.08,142.82 225.24,99.292 236.65,76.886"];
	ApicalPoint	 [URL="../../tasks/annotation/index.html#tasks.annotation.ApicalPoint",
		pos="123.73,63",
		width=0.91667];
	Annotate -> ApicalPoint	 [pos="e,116.11,72.092 159.7,164.22 139.87,157.91 115.03,146.33 102.73,126 93.178,110.23 103.75,89.576 113.04,76.296"];
	CutLeaves	 [URL="../../tasks/annotation/index.html#tasks.annotation.CutLeaves",
		pos="362.73,63",
		width=0.875];
	Annotate -> CutLeaves	 [pos="e,361.62,72.117 217.83,165.34 255.99,157.41 320.17,142.14 337.73,126 351.65,113.21 357.94,91.656 360.7,77.38"];
	PlotApicalPoint	 [URL="../../tasks/annotation/index.html#tasks.annotation.PlotApicalPoint",
		pos="153.73,117",
		width=1.1528];
	Annotate -> PlotApicalPoint	 [pos="e,159.75,126.3 182.63,161.59 177.06,153 168.76,140.19 162.48,130.5"];
	PlotCutLeaves	 [URL="../../tasks/annotation/index.html#tasks.annotation.PlotCutLeaves",
		pos="425.73,117",
		width=1.1111];
	Annotate -> PlotCutLeaves	 [pos="e,386.16,126.02 217.79,164.38 258.57,155.09 333.16,138.09 381.03,127.18"];
	PlotHardLimit	 [URL="../../tasks/annotation/index.html#tasks.annotation.PlotHardLimit",
		pos="290.73,117",
		width=1.0694];
	Annotate -> PlotHardLimit	 [pos="e,273.68,126.03 206.03,161.84 223.43,152.63 250.29,138.41 269.09,128.46"];
	MType -> CollectCurated	 [pos="e,185.53,18.063 73.093,54.204 102.48,44.757 149.18,29.746 180.62,19.641"];
	HardLimit -> CollectCurated	 [pos="e,218.89,18.298 238.5,53.594 233.77,45.076 226.74,32.421 221.37,22.766"];
	ApicalPoint -> CollectCurated	 [pos="e,198.68,18.025 138.99,53.84 154.21,44.708 177.65,30.649 194.21,20.711"];
	CutLeaves -> CollectCurated	 [pos="e,238.75,18.068 337.79,53.962 311.89,44.578 271.38,29.896 243.75,19.881"];
	PlotApicalPoint -> CollectCurated	 [pos="e,208.62,18.185 158.84,107.79 169.43,88.743 193.77,44.926 206.17,22.605"];
	PlotApicalPoint -> ApicalPoint	 [pos="e,128.89,72.298 148.5,107.59 143.77,99.076 136.74,86.421 131.37,76.766"];
	PlotCutLeaves -> CollectCurated	 [pos="e,255.27,14.248 425.04,107.78 423.5,93.987 418.56,68.088 402.73,54 381.9,35.464 309.15,22.102 260.23,14.961"];
	PlotCutLeaves -> CutLeaves	 [pos="e,373.26,72.025 415.04,107.84 404.66,98.942 388.82,85.366 377.29,75.484"];
	PlotHardLimit -> CollectCurated	 [pos="e,237.18,18.05 291.85,107.65 292.94,94.593 293.14,70.632 282.73,54 273.25,38.864 256.59,27.787 242.03,20.41"];
	PlotHardLimit -> HardLimit	 [pos="e,251.82,72.298 282.54,107.59 274.99,98.921 263.71,85.96 255.25,76.242"];
}
class tasks.workflows.Repair(*args, **kwargs)

Bases: data_validation_framework.task.ValidationWorkflow

Run Repair phase.

The complete phase has the following dependency graph:

strict digraph {
	graph [bb="0,0,432.99,342",
		bgcolor=transparent,
		fontsize=9,
		layout=dot,
		rankdir=TB,
		size="7.0, 15.0"
	];
	node [fillcolor=white,
		fontname="\"Vera Sans, DejaVu Sans, Liberation Sans, Arial, Helvetica, sans\"",
		fontsize=9,
		height=0.25,
		label="\N",
		shape=box,
		style="setlinewidth(0.5),filled"
	];
	edge [arrowsize=0.5,
		style="setlinewidth(0.5)"
	];
	Repair	 [color=red,
		penwidth=1.5,
		pos="206,333",
		width=0.75];
	CollectAnnotated	 [URL="../../tasks/repair/index.html#tasks.repair.CollectAnnotated",
		pos="139,9",
		width=1.3056];
	Repair -> CollectAnnotated	 [pos="e,107.46,18.054 178.64,331.15 122.61,325.73 0,304.75 0,225 0,225 0,225 0,117 0,65.022 61.358,34.438 102.54,19.765"];
	FixZeroDiameters	 [URL="../../tasks/repair/index.html#tasks.repair.FixZeroDiameters",
		pos="101,63",
		width=1.3194];
	Repair -> FixZeroDiameters	 [pos="e,91.156,72.061 178.63,328.38 131.03,318.61 38,291.05 38,225 38,225 38,225 38,171 38,132.25 68.629,95.033 87.174,76.048"];
	Unravel	 [URL="../../tasks/repair/index.html#tasks.repair.Unravel",
		pos="232,117",
		width=0.75];
	Repair -> Unravel	 [pos="e,259.07,121.98 233.16,331.09 284.33,326.88 392.05,314.98 416,288 437.3,264.01 437.49,243.51 421,216 386.99,159.25 308.43,133.5 \
264.05,123.11"];
	RepairNeurites	 [URL="../../tasks/repair/index.html#tasks.repair.RepairNeurites",
		pos="208,171",
		width=1.1389];
	Repair -> RepairNeurites	 [pos="e,198.87,180.06 182.56,323.92 167.42,316.68 148.94,304.92 140,288 136.26,280.93 137.63,277.64 140,270 150.86,235.01 178.85,201.41 \
195.33,183.78"];
	SmoothDiameters	 [URL="../../tasks/repair/index.html#tasks.repair.SmoothDiameters",
		pos="283,225",
		width=1.3611];
	Repair -> SmoothDiameters	 [pos="e,283.54,234.36 227.58,323.87 242.46,316.42 261.4,304.44 272,288 281.45,273.34 283.45,252.94 283.58,239.37"];
	PlotSmoothDiameters	 [URL="../../tasks/repair/index.html#tasks.repair.PlotSmoothDiameters",
		pos="206,279",
		width=1.5833];
	Repair -> PlotSmoothDiameters	 [pos="e,206,288.3 206,323.59 206,315.31 206,303.11 206,293.56"];
	PlotRepair	 [URL="../../tasks/repair/index.html#tasks.repair.PlotRepair",
		pos="381,225",
		width=0.84722];
	Repair -> PlotRepair	 [pos="e,388.41,234.1 233.2,330.77 281.58,326.18 379.46,313.85 400,288 411.49,273.54 400.88,252.2 391.51,238.46"];
	MakeCollage	 [URL="../../tasks/repair/index.html#tasks.repair.MakeCollage",
		pos="355,279",
		width=1];
	Repair -> MakeCollage	 [pos="e,329.98,288.07 230.94,323.96 256.83,314.58 297.34,299.9 324.98,289.88"];
	MakeRelease	 [URL="../../tasks/repair/index.html#tasks.repair.MakeRelease",
		pos="103,225",
		width=1.0139];
	Repair -> MakeRelease	 [pos="e,100.89,234.07 178.78,328.56 155.56,323.21 123.4,311.78 107,288 97.112,273.66 97.958,252.85 100.02,239.13"];
	FixZeroDiameters -> CollectAnnotated	 [pos="e,132.46,18.298 107.62,53.594 113.67,44.999 122.68,32.191 129.5,22.503"];
	Unravel -> CollectAnnotated	 [pos="e,151.43,18.139 227.15,107.89 220.13,95.126 206.27,71.506 191,54 180.33,41.767 166.33,29.836 155.54,21.336"];
	Unravel -> FixZeroDiameters	 [pos="e,123,72.068 210.07,107.96 187.4,98.617 151.99,84.018 127.7,74.006"];
	RepairNeurites -> CollectAnnotated	 [pos="e,142.86,18.073 204.09,161.83 192.56,134.76 158.64,55.121 144.89,22.833"];
	RepairNeurites -> Unravel	 [pos="e,227.87,126.3 212.18,161.59 215.93,153.15 221.49,140.65 225.76,131.03"];
	SmoothDiameters -> Unravel	 [pos="e,237.78,126.09 279.85,215.85 275.46,203.43 267.02,180.64 258,162 252.76,151.17 245.93,139.42 240.58,130.64"];
	SmoothDiameters -> RepairNeurites	 [pos="e,220.53,180.03 270.28,215.84 257.7,206.79 238.4,192.89 224.62,182.97"];
	PlotSmoothDiameters -> RepairNeurites	 [pos="e,207.83,180.18 206.17,269.79 206.52,250.98 207.31,208.02 207.73,185.46"];
	PlotSmoothDiameters -> SmoothDiameters	 [pos="e,270.13,234.03 219.06,269.84 231.97,260.79 251.79,246.89 265.94,236.97"];
	PlotRepair -> Unravel	 [pos="e,244.73,126.23 368.55,215.98 341.89,196.65 279.22,151.23 248.95,129.29"];
	PlotRepair -> RepairNeurites	 [pos="e,237.05,180.07 352.04,215.96 321.73,206.5 274.16,191.65 242.06,181.63"];
	MakeCollage -> SmoothDiameters	 [pos="e,295.03,234.03 342.79,269.84 330.82,260.86 312.5,247.13 299.3,237.22"];
	MakeRelease -> FixZeroDiameters	 [pos="e,101.11,72.073 102.89,215.83 102.55,188.87 101.58,109.78 101.18,77.234"];
	MakeRelease -> Unravel	 [pos="e,213.63,126.12 109.7,215.65 119.36,202.6 138.23,178.64 158,162 173.74,148.75 193.8,136.81 209.06,128.56"];
	MakeRelease -> RepairNeurites	 [pos="e,190.45,180.03 120.81,215.84 138.72,206.63 166.37,192.41 185.72,182.46"];
}
make_release

Set to True to make a morpology release with neurondb.xml

Type

bool

Default value

True

report_config