Mercurial > repos > imgteam > 2d_feature_extraction
comparison 2d_feature_extraction.py @ 6:5bc8cdc17fd0 draft default tip
planemo upload for repository https://github.com/BMCV/galaxy-image-analysis/tree/master/tools/2d_feature_extraction/ commit c86a1b93cb7732f7331a981d13465653cc1a2790
| author | imgteam |
|---|---|
| date | Wed, 24 Apr 2024 08:11:39 +0000 |
| parents | 2436a8807ad1 |
| children |
comparison
equal
deleted
inserted
replaced
| 5:2436a8807ad1 | 6:5bc8cdc17fd0 |
|---|---|
| 1 import argparse | 1 import argparse |
| 2 | 2 |
| 3 import giatools.io | |
| 3 import numpy as np | 4 import numpy as np |
| 4 import pandas as pd | 5 import pandas as pd |
| 5 import skimage.feature | 6 import skimage.feature |
| 6 import skimage.io | |
| 7 import skimage.measure | 7 import skimage.measure |
| 8 import skimage.morphology | 8 import skimage.morphology |
| 9 import skimage.segmentation | 9 import skimage.segmentation |
| 10 | 10 |
| 11 | 11 |
| 55 out_file = args.output_file.name | 55 out_file = args.output_file.name |
| 56 add_patch = args.add_roi_patches | 56 add_patch = args.add_roi_patches |
| 57 | 57 |
| 58 raw_image = None | 58 raw_image = None |
| 59 if args.raw_file is not None: | 59 if args.raw_file is not None: |
| 60 raw_image = skimage.io.imread(args.raw_file.name) | 60 raw_image = giatools.io.imread(args.raw_file.name) |
| 61 | 61 |
| 62 raw_label_image = skimage.io.imread(label_file) | 62 raw_label_image = giatools.io.imread(label_file) |
| 63 | 63 |
| 64 df = pd.DataFrame() | 64 df = pd.DataFrame() |
| 65 if label_file_binary: | 65 if label_file_binary: |
| 66 raw_label_image = skimage.measure.label(raw_label_image) | 66 raw_label_image = skimage.measure.label(raw_label_image) |
| 67 regions = skimage.measure.regionprops(raw_label_image, intensity_image=raw_image) | 67 regions = skimage.measure.regionprops(raw_label_image, intensity_image=raw_image) |
| 122 perimeter = df['it'].map(lambda ait: regions[ait].perimeter) | 122 perimeter = df['it'].map(lambda ait: regions[ait].perimeter) |
| 123 area = df['it'].map(lambda ait: regions[ait].area) | 123 area = df['it'].map(lambda ait: regions[ait].area) |
| 124 df['convexity'] = area / (perimeter * perimeter) | 124 df['convexity'] = area / (perimeter * perimeter) |
| 125 | 125 |
| 126 del df['it'] | 126 del df['it'] |
| 127 df.to_csv(out_file, sep='\t', line_terminator='\n', index=False) | 127 df.to_csv(out_file, sep='\t', lineterminator='\n', index=False) |
