tasks.workflows

Workflow tasks.

Module Contents

Classes

Curate

Run Curation phase.

Annotate

Run Annotation phase.

Repair

Run Repair phase.

Functions

path_reduced_df(data_dir[, df_path, parents])

Build the path to the reduced version of the report.

save_reduced_df(df, data_dir[, df_path, parents])

Save reduced version of the report.

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

Build the path to the 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: morphology_workflows.utils.StrIndexMixin, 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,
		dpi=100,
		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,68.344,18.225 321.7,492.56 256.8,488.73 95.266,476.72 49,450 18.587,432.43 0,423.12 0,388 0,388 0,388 0,116 0,74.137 40.38,38.547 \
64.118,21.241"];
	ExtractMarkers	[URL="../../tasks/curation/index.html#tasks.curation.ExtractMarkers",
		pos="81,387",
		width=1.1806];
	Curate -> ExtractMarkers	[pos="e,73.085,396.13 321.97,494.2 256.28,494.04 91.11,489.64 57,450 44.445,435.41 58.429,413.52 69.705,400.03"];
	Sanitize	[URL="../../tasks/curation/index.html#tasks.curation.Sanitize",
		pos="462,117",
		width=0.75];
	Curate -> Sanitize	[pos="e,434.85,121.65 321.81,491.15 269.94,484.06 162,460.58 162,388 162,388 162,388 162,224 162,167.76 351.78,133.93 429.45,122.43"];
	CheckNeurites	[URL="../../tasks/curation/index.html#tasks.curation.CheckNeurites",
		pos="517,63",
		width=1.1389];
	Curate -> CheckNeurites	[pos="e,558.44,68.576 376.08,493.08 443.82,490.34 618.66,480.44 667,450 694.95,432.4 708,421.04 708,388 708,388 708,388 708,170 708,104.1 \
620.01,78.828 563.47,69.388"];
	Recenter	[URL="../../tasks/curation/index.html#tasks.curation.Recenter",
		pos="462,171",
		width=0.79167];
	Curate -> Recenter	[pos="e,462,180.25 369.46,485.9 402.03,471.5 462,438.17 462,388 462,388 462,388 462,278 462,244.69 462,205.5 462,185.39"];
	DetectErrors	[URL="../../tasks/curation/index.html#tasks.curation.DetectErrors",
		pos="595,387",
		width=1.0278];
	Curate -> DetectErrors	[pos="e,611.76,396.12 376.45,494.35 444.03,494.56 615.56,490.98 651,450 666.86,431.67 638.15,410.85 616.3,398.6"];
	PlotMarkers	[URL="../../tasks/curation/index.html#tasks.curation.PlotMarkers",
		pos="100,441",
		width=0.94444];
	Curate -> PlotMarkers	[pos="e,134.22,449.15 321.88,488.34 277.77,479.12 190.29,460.86 139.34,450.22"];
	PlotErrors	[URL="../../tasks/curation/index.html#tasks.curation.PlotErrors",
		pos="520,441",
		width=0.83333];
	Curate -> PlotErrors	[pos="e,493.63,450.02 375.34,485.99 405.85,476.71 456.05,461.45 488.57,451.56"];
	ErrorsReport	[URL="../../tasks/curation/index.html#tasks.curation.ErrorsReport",
		pos="605,441",
		width=1.0278];
	Curate -> ErrorsReport	[pos="e,567.93,449.53 376.4,488.44 421.13,479.35 510.15,461.27 562.94,450.54"];
	Align	[URL="../../tasks/curation/index.html#tasks.curation.Align",
		pos="369,279",
		width=0.75];
	Curate -> Align	[pos="e,369.98,288.25 353.42,485.86 357.84,477.24 364.34,463.1 367,450 378.6,392.78 373.47,322.49 370.54,293.49"];
	Orient	[URL="../../tasks/curation/index.html#tasks.curation.Orient",
		pos="407,225",
		width=0.75];
	Curate -> Orient	[pos="e,409.22,234.17 360.39,485.81 381.37,469.66 424,431.51 424,388 424,388 424,388 424,332 424,298.12 415.43,258.92 410.46,239.03"];
	EnsureNeuritesOutsideSoma	[URL="../../tasks/curation/index.html#tasks.curation.EnsureNeuritesOutsideSoma",
		pos="274,333",
		width=2.0278];
	Curate -> EnsureNeuritesOutsideSoma	[pos="e,263.38,342.08 321.7,488.87 299.02,483.2 267.56,471.81 249,450 227.87,425.17 223.44,408.48 235,378 239.85,365.21 250.32,353.74 \
259.19,345.73"];
	Resample	[URL="../../tasks/curation/index.html#tasks.curation.Resample",
		pos="274,387",
		width=0.83333];
	Curate -> Resample	[pos="e,267.84,396.24 321.59,489.06 299.92,483.56 271.07,472.32 257,450 247.35,434.69 256.74,413.91 264.92,400.73"];
	PlotMorphologies	[URL="../../tasks/curation/index.html#tasks.curation.PlotMorphologies",
		pos="312,441",
		width=1.2778];
	Curate -> PlotMorphologies	[pos="e,317.86,450.24 343.22,485.88 337.23,477.45 327.78,464.18 320.85,454.44"];
	ExtractMarkers -> Collect	[pos="e,81,18.247 81,377.75 81,359.92 81,316.44 81,280 81,280 81,280 81,116 81,82.694 81,43.501 81,23.392"];
	Sanitize -> CheckNeurites	[pos="e,508.29,72.24 470.59,107.88 479.66,99.301 494.05,85.701 504.4,75.915"];
	CheckNeurites -> Collect	[pos="e,108.15,13.238 475.98,57.108 389.86,46.837 191.74,23.207 113.57,13.884"];
	Recenter -> Sanitize	[pos="e,462,126.24 462,161.88 462,153.76 462,141.13 462,131.5"];
	DetectErrors -> CheckNeurites	[pos="e,524.65,72.042 591.99,377.88 585.76,360.3 572,317.29 572,280 572,280 572,280 572,170 572,132.22 544.13,94.519 528.07,75.925"];
	PlotMarkers -> ExtractMarkers	[pos="e,84.011,396.24 97.031,431.88 94.009,423.6 89.279,410.66 85.738,400.97"];
	PlotErrors -> Recenter	[pos="e,468.67,180.21 518.69,431.78 515.98,413.99 510,370.6 510,334 510,334 510,334 510,278 510,241.5 486.09,203.72 472.02,184.65"];
	PlotErrors -> DetectErrors	[pos="e,583.12,396.24 531.72,431.88 544.41,423.07 564.75,408.98 578.93,399.14"];
	ErrorsReport -> DetectErrors	[pos="e,596.58,396.24 603.44,431.88 601.86,423.68 599.4,410.89 597.55,401.24"];
	Align -> Orient	[pos="e,400.98,234.24 374.94,269.88 381.09,261.45 390.79,248.18 397.91,238.44"];
	Orient -> Recenter	[pos="e,453.29,180.24 415.59,215.88 424.66,207.3 439.05,193.7 449.4,183.91"];
	EnsureNeuritesOutsideSoma -> Align	[pos="e,354.26,288.07 288.84,323.88 305.16,314.95 331.43,300.56 349.42,290.72"];
	Resample -> EnsureNeuritesOutsideSoma	[pos="e,274,342.24 274,377.88 274,369.76 274,357.13 274,347.5"];
	PlotMorphologies -> Resample	[pos="e,280.02,396.24 306.06,431.88 299.91,423.45 290.21,410.18 283.09,400.44"];
}

(click on steps in the image for more details)

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

Bases: morphology_workflows.utils.StrIndexMixin, data_validation_framework.task.ValidationWorkflow

Run Annotation phase.

The complete phase has the following dependency graph:

strict digraph {
	graph [bb="0,0,465.23,180",
		bgcolor=transparent,
		dpi=100,
		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.83,12.978 159.64,163.94 97.955,149.82 -36.674,111.48 9.7322,54 29.079,30.035 112.7,18.495 166.7,13.446"];
	MType	[URL="../../tasks/annotation/index.html#tasks.annotation.MType",
		pos="45.732,63",
		width=0.75];
	Annotate -> MType	[pos="e,50.629,72.219 164.53,161.99 144.72,154.67 116.64,142.46 95.732,126 77.772,111.86 62.158,90.127 53.349,76.505"];
	HardLimit	[URL="../../tasks/annotation/index.html#tasks.annotation.HardLimit",
		pos="243.73,63",
		width=0.84722];
	Annotate -> HardLimit	[pos="e,239.44,72.279 193.05,161.68 202.61,143.26 225.62,98.912 237.05,76.875"];
	ApicalPoint	[URL="../../tasks/annotation/index.html#tasks.annotation.ApicalPoint",
		pos="123.73,63",
		width=0.91667];
	Annotate -> ApicalPoint	[pos="e,116.78,72.124 159.73,163.55 139.91,157.47 115.07,146.17 102.73,126 93.036,110.15 104.29,89.251 113.69,76.222"];
	CutLeaves	[URL="../../tasks/annotation/index.html#tasks.annotation.CutLeaves",
		pos="361.73,63",
		width=0.86111];
	Annotate -> CutLeaves	[pos="e,360.87,72.109 217.93,168.83 250.97,166 304.5,156.61 337.73,126 351.67,113.16 357.6,91.284 360.07,77.246"];
	PlotApicalPoint	[URL="../../tasks/annotation/index.html#tasks.annotation.PlotApicalPoint",
		pos="153.73,117",
		width=1.1528];
	Annotate -> PlotApicalPoint	[pos="e,159.28,126.24 183.26,161.88 177.59,153.45 168.66,140.18 162.1,130.44"];
	PlotCutLeaves	[URL="../../tasks/annotation/index.html#tasks.annotation.PlotCutLeaves",
		pos="425.73,117",
		width=1.0972];
	Annotate -> PlotCutLeaves	[pos="e,389.04,126.05 217.79,163.62 259.41,154.49 336.23,137.64 383.95,127.17"];
	PlotHardLimit	[URL="../../tasks/annotation/index.html#tasks.annotation.PlotHardLimit",
		pos="290.73,117",
		width=1.0694];
	Annotate -> PlotHardLimit	[pos="e,274.91,126.07 204.67,161.88 222.33,152.87 250.88,138.32 270.2,128.47"];
	MType -> CollectCurated	[pos="e,187.82,18.02 71.614,53.989 101.58,44.713 150.9,29.447 182.85,19.559"];
	HardLimit -> CollectCurated	[pos="e,218.49,18.24 239.04,53.875 234.23,45.529 226.67,32.42 221.06,22.702"];
	ApicalPoint -> CollectCurated	[pos="e,199.77,18.068 137.79,53.875 153.25,44.945 178.14,30.564 195.18,20.717"];
	CutLeaves -> CollectCurated	[pos="e,236.8,18.106 338.93,53.989 312.72,44.779 269.69,29.661 241.53,19.768"];
	PlotApicalPoint -> CollectCurated	[pos="e,209.05,18.279 158.44,107.68 168.87,89.26 193.97,44.912 206.44,22.875"];
	PlotApicalPoint -> ApicalPoint	[pos="e,128.49,72.24 149.04,107.88 144.23,99.529 136.67,86.42 131.06,76.702"];
	PlotCutLeaves -> CollectCurated	[pos="e,255.42,15.171 424.96,107.79 423.26,94.433 417.93,68.086 401.73,54 380.93,35.909 309.23,22.9 260.64,15.911"];
	PlotCutLeaves -> CutLeaves	[pos="e,371.87,72.24 415.73,107.88 404.99,99.149 387.85,85.218 375.76,75.399"];
	PlotHardLimit -> CollectCurated	[pos="e,235.83,18.125 291.77,107.63 292.9,94.977 293.32,70.675 282.73,54 272.95,38.591 255.61,27.566 240.76,20.406"];
	PlotHardLimit -> HardLimit	[pos="e,251.18,72.24 283.39,107.88 275.71,99.377 263.56,85.941 254.74,76.175"];
}

(click on steps in the image for more details)

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

Bases: morphology_workflows.utils.StrIndexMixin, data_validation_framework.task.ValidationWorkflow

Run Repair phase.

The complete phase has the following dependency graph:

strict digraph {
	graph [bb="0,0,546,342",
		bgcolor=transparent,
		dpi=100,
		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="246,333",
		width=0.75];
	CollectAnnotated	[URL="../../tasks/repair/index.html#tasks.repair.CollectAnnotated",
		pos="246,9",
		width=1.3056];
	Repair -> CollectAnnotated	[pos="e,198.86,10.12 218.73,332.39 154.68,331.74 0,320.4 0,226 0,226 0,226 0,116 0,32.324 121.53,13.908 193.75,10.351"];
	FixZeroDiameters	[URL="../../tasks/repair/index.html#tasks.repair.FixZeroDiameters",
		pos="399,63",
		width=1.3194];
	Repair -> FixZeroDiameters	[pos="e,431.99,72.034 273.15,328.35 347,317.68 546,283.59 546,226 546,226 546,226 546,170 546,116.22 480.48,87.006 436.92,73.524"];
	Unravel	[URL="../../tasks/repair/index.html#tasks.repair.Unravel",
		pos="246,171",
		width=0.75];
	Repair -> Unravel	[pos="e,246,180.33 246,323.85 246,297.96 246,217.47 246,185.39"];
	SmoothDiameters	[URL="../../tasks/repair/index.html#tasks.repair.SmoothDiameters",
		pos="399,117",
		width=1.3611];
	Repair -> SmoothDiameters	[pos="e,397.99,126.06 273.36,328.35 298.69,323.51 335.59,312.51 357,288 377.78,264.2 392.51,166.96 397.31,131.24"];
	RepairNeurites	[URL="../../tasks/repair/index.html#tasks.repair.RepairNeurites",
		pos="138,225",
		width=1.1528];
	Repair -> RepairNeurites	[pos="e,111.18,234.03 218.76,329.73 171.37,325.16 76.901,313.07 57,288 39.148,265.51 76.392,246.64 106.11,235.83"];
	PlotSmoothDiameters	[URL="../../tasks/repair/index.html#tasks.repair.PlotSmoothDiameters",
		pos="461,171",
		width=1.5833];
	Repair -> PlotSmoothDiameters	[pos="e,458.33,180.14 273.04,329.51 304.11,325.44 355.28,314.89 390,288 425.75,260.31 447.75,209.13 456.56,185.1"];
	PlotRepair	[URL="../../tasks/repair/index.html#tasks.repair.PlotRepair",
		pos="187,279",
		width=0.86111];
	Repair -> PlotRepair	[pos="e,196.35,288.24 236.78,323.88 226.97,315.23 211.35,301.46 200.22,291.66"];
	MakeCollage	[URL="../../tasks/repair/index.html#tasks.repair.MakeCollage",
		pos="102,279",
		width=1];
	Repair -> MakeCollage	[pos="e,124.45,288.11 223.82,323.99 198.42,314.82 156.79,299.79 129.39,289.89"];
	MakeRelease	[URL="../../tasks/repair/index.html#tasks.repair.MakeRelease",
		pos="311,279",
		width=1.0278];
	Repair -> MakeRelease	[pos="e,300.7,288.24 256.16,323.88 267.06,315.15 284.48,301.22 296.75,291.4"];
	FixZeroDiameters -> CollectAnnotated	[pos="e,269.6,18.02 375.43,53.989 348.25,44.752 303.59,29.572 274.49,19.681"];
	Unravel -> CollectAnnotated	[pos="e,246,18.33 246,161.85 246,135.96 246,55.468 246,23.391"];
	Unravel -> SmoothDiameters	[pos="e,375.4,126.02 269.57,161.99 296.75,152.75 341.41,137.57 370.51,127.68"];
	SmoothDiameters -> CollectAnnotated	[pos="e,257.95,18.279 386.99,107.68 359.73,88.796 293.14,42.659 262.24,21.252"];
	SmoothDiameters -> FixZeroDiameters	[pos="e,399,72.24 399,107.88 399,99.756 399,87.131 399,77.504"];
	RepairNeurites -> CollectAnnotated	[pos="e,241.89,18.136 142.1,215.87 158.47,183.43 219.23,63.037 239.43,23.024"];
	RepairNeurites -> Unravel	[pos="e,229.24,180.07 154.88,215.88 173.66,206.83 204.06,192.19 224.52,182.34"];
	PlotSmoothDiameters -> FixZeroDiameters	[pos="e,416.53,72.088 462.52,161.79 464.39,149.33 466.29,125.29 457,108 449.11,93.325 433.97,82.097 421.14,74.657"];
	PlotSmoothDiameters -> SmoothDiameters	[pos="e,408.82,126.24 451.31,161.88 441,153.23 424.59,139.46 412.9,129.66"];
	PlotRepair -> Unravel	[pos="e,241.39,180.28 191.63,269.68 201.88,251.26 226.57,206.91 238.83,184.88"];
	PlotRepair -> RepairNeurites	[pos="e,145.76,234.24 179.34,269.88 171.26,261.3 158.45,247.7 149.23,237.91"];
	MakeCollage -> RepairNeurites	[pos="e,132.3,234.24 107.62,269.88 113.46,261.45 122.64,248.18 129.39,238.44"];
	MakeRelease -> FixZeroDiameters	[pos="e,382.49,72.062 310.44,269.83 309.06,243.99 307.73,162.48 341,108 349.8,93.59 365.21,82.237 377.94,74.675"];
	MakeRelease -> Unravel	[pos="e,251.08,180.28 305.9,269.68 294.56,251.18 267.18,206.54 253.73,184.6"];
	MakeRelease -> RepairNeurites	[pos="e,164.68,234.02 284.35,269.99 253.49,260.71 202.7,245.45 169.8,235.56"];
}

(click on steps in the image for more details)

make_release

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

Type:

bool

Default value:

True

report_config