Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel2

...

Various types of data are used and produced during processing. Full resolution images are the main data input and are processed to produce plant segments, or cutouts, various types of masks, and metadata products for both original images and cutouts. This section describes how this is data structured, details its contents, and documents Image and Cutout metadata at length.

Directory Structure

Code Block
languagenone
data
  ├── semifield-developed-images
  │   ├── NC_2022-07-27
  │   │   ├── NC_2022-07-27.json
  │   │   │
  │   │   ├── autosfm
  │   │   │   ├── NC_2022-07-27_preview.png
  │   │   │   ├── detections.csv
  │   │   │   ├── dem
  │   │   │   │   └── dem.tif
  │   │   │   ├── downscaled_photos
  │   │   │   │   ├── NC_1658926241.png
  │   │   │   │   ├── NC_1658926255.png
  │   │   │   │   └── ...
  │   │   │   ├── downscaled_masks
  │   │   │   │   ├── NC_1658926241_mask.png
  │   │   │   │   ├── NC_1658926255_mask.png
  │   │   │   │   └── ...
  │   │   │   ├── ortho
  │   │   │   │   └── orthomosaic.tif
  │   │   │   ├── project
  │   │   │   │   ├── NC_2022-07-27.psx
  │   │   │   │   └── NC_2022-07-27.files
  │   │   │   └── reference
  │   │   │       ├── camera_reference.csv
  │   │   │       ├── error_statistic.csv
  │   │   │       ├── fov.csv
  │   │   │       └──gcp_reference.csv
  │   │   │
  │   │   ├── images
  │   │   │   ├── NC_1658926241.png
  │   │   │   ├── NC_1658926255.png
  │   │   │   └── ...
  │   │   │
  │   │   ├── masks
  │   │   │   ├── NC_1658926241_mask.png
  │   │   │   ├── NC_1658926255_mask.png
  │   │   │   └── ...
  │   │   │
  │   │   ├── plant-detections
  │   │   │   ├── NC_1658926241.csv
  │   │   │   ├── NC_1658926255.csv
  │   │   │   └── ...
  │   │   │
  │   │   ├── metadata
  │   │   │   ├── NC_1658926241.json
  │   │   │   ├── NC_1658926255.json
  │   │   │   └── ...
  │   │   │
  │   │   └── metamasks
  │   │       ├── semantic_masks
  │   │       │   ├── NC_1658926241.png
  │   │       │   ├── NC_1658926255.png
  │   │       │   └── ...
  │   │       └── instance_masks
  │   │           ├── NC_1658926241.png
  │   │           ├── NC_1658926255.png
  │   │           └── ...  
  │   └── ...
  │
  ├── semifield-cutouts
  │   ├── NC_2022-07-27
  │   │   ├── NC_1658926241_0.png
  │   │   ├── NC_1658926241_0.json
  │   │   ├── NC_1658926241_0.jpg
  │   │   ├── NC_1658926241_0_mask.png
  │   │   └── ...
  │   └── ...
  │
  └── semifield-utils
      ├── MD
      │   ├── shapefiles
      │   │   │   ├── MD.shp
      │   │   │   └── ...
      │   │   └── GroundControlPoints.csv 
      ├── NC
      │   ├── shapefiles
      │   │   ├── NC.shp
      │   │   └── ...
      │   └── GroundControlPoints.csv                            
      └── species

...

Metadata

Metadata refers to labels and image information

Batches

blob_home and data_root - storage location information

batch_id - unique batch identifier

upload_datetime - when image were uploaded to “uploads” blob storage

image_list - list of images contained in a single batch folder

schema_version - version of data schema used for organizing metadata

Code Block
languagejson
{
    "blob_home": "data",
    "data_root": "semifield-developed-images",
    "batch_id": "NC_2022-08-05",
    "upload_datetime": "2022-08-19_21:28:37",
    "image_list": [
        "images/NC_1659710908.jpg",
        "images/NC_1659711200.jpg",
        "images/NC_1659706234.jpg",
        ...
        "images/NC_1659709264.jpg",
        "images/NC_1659715086.jpg",
        "images/NC_1659706245.jpg"
        ],
    "schema_version": "1.0"
}

Images - general

blob_home and data_root - storage location information

batch_id - unique batch identifier

image_id - unique image id comprised of state abbreviation and UNIX timestamp

image_path - Image filename with a single parent directory

plant_date - plant date for entire batch. Does not account for replantings.

growth_stage - estimated growth stage based on planting date

width and height - image height and width in pixels. May be downscaled as a result of autosfm; however, image in the “images”directory are full sized images. See fullres_width and fullres_height

exif_meta

camera_info

cutout_ids

bboxes

fullres_height

fullres_width

fullres_width

Code Block
languagejson
{
    "blob_home": "data",
    "data_root": "semifield-developed-images",
    "batch_id": "NC_2022-07-27",
    "image_id": "NC_1658926241",
    "image_path": "images/NC_1658926241.jpg",
    "plant_date": "2022-06-09",
    "growth_stage": "vegetative",
    "width": 4780,
    "height": 3184,
    
    "exif_meta": { ... },
    
    "camera_info": { ... },
    
    "cutout_ids": [ ... ],
    
    "bboxes": [ ... ],
    

    "fullres_height": 6368,
    "fullres_width": 9560,
    "schema_version": "1.0"
}

Images - Exif

Uses Exif-Py

pip install exifread

Technical tag information can be found here

Code Block
languagejson
    "exif_meta": {
        "ImageWidth": 9560,
        "ImageLength": 6368,
        "BitsPerSample": 8,
        "Compression": 1,
        "PhotometricInterpretation": 2,
        "Make": "SONY",
        "Model": "ILCE-7RM4",
        "Orientation": 1,
        "SamplesPerPixel": 3,
        "XResolution": "300",
        "YResolution": "300",
        "PlanarConfiguration": 1,
        "ResolutionUnit": 2,
        "Software": "RawTherapee 5.8",
        "DateTime": "2022:07:27 08:49:15",
        "Rating": 0,
        "ExifOffset": 4449,
        "ExposureTime": "1/200",
        "FNumber": "10",
        "ExposureProgram": 1,
        "ISOSpeedRatings": 100,
        "RecommendedExposureIndex": 100,
        "ExifVersion": [
            48,
            50,
            51,
            49
        ],
        "DateTimeOriginal": "2022:07:27 08:49:15",
        "DateTimeDigitized": "2022:07:27 08:49:15",
        "BrightnessValue": "9207/1280",
        "ExposureBiasValue": "0",
        "MaxApertureValue": "217/128",
        "MeteringMode": 5,
        "LightSource": 0,
        "Flash": 16,
        "FocalLength": "55",
        "FileSource": 3,
        "SceneType": 1,
        "CustomRendered": 0,
        "ExposureMode": 1,
        "WhiteBalance": 0,
        "DigitalZoomRatio": "1",
        "FocalLengthIn35mmFilm": 55,
        "SceneCaptureType": 0,
        "Contrast": 0,
        "Saturation": 0,
        "Sharpness": 0,
        "LensSpecification": [
            "55",
            "55",
            "9/5",
            "9/5"
        ],
        "LensModel": "FE 55mm F1.8 ZA",
        "BodySerialNumber": null,
        "MakerNote": null,
        "ImageDescription": " ",
        "UserComment": null,
        "ApplicationNotes": null,
        "Tag": null,
        "SubIFDs": 4450
    }

Images - Camera Info

...

_info

...

camera_location

pixel_width & pixel_height

yaw, pitch, roll

focal_length

fov

is_scaleable

Code Block
languagejson
"camera_info": {
        "camera_location": [
            -0.1992725638544925,
            9.926811159768054,
            2.130928709515993
        ],
        "pixel_width": 0.0075333198937023,
        "pixel_height": 0.0075333198937023,
        "yaw": 183.89777711639093,
        "pitch": -2.3366362127596525,
        "roll": 0.7135915032770658,
        "focal_length": 8747.80961719926,
        "fov": {
            "top_left": [
                -0.8064812117393512,
                10.27414293412319
            ],
            "top_right": [
                0.3552128560424488,
                10.353294011316107
            ],
            "bottom_left": [
                -0.7537579837514339,
                9.50032830822
            ],
            "bottom_right": [
                0.4079360840303661,
                9.579479385412917
            ],
            "is_scaleable": true
        }
    }

Images - Cutouts

cutout_ids

Code Block
languagejson
"cutout_ids": [
        "NC_1658926241_0",
        "NC_1658926241_1",
        "NC_1658926241_2",
        "NC_1658926241_3"
    ],

Images - Bounding Boxes

...

languagejson

...

.

...

Cutouts

...

json

...


    

...

 

...

     

...


...


...