Search in sources :

Example 6 with IntegerRange

use of org.codice.alliance.nsili.common.GIAS.IntegerRange in project alliance by codice.

the class NsiliAttributesGenerator method getNsilVideoAttributes.

public static List<AttributeInformation> getNsilVideoAttributes() {
    String prefix = NsiliConstants.NSIL_VIDEO + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.fr(MAX_STANAG_4559_RANGE);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.AVG_BIT_RATE, AttributeType.FLOATING_POINT, domain, "", "", RequirementMode.OPTIONAL, "The bit rate of the motion imagery product when being streamed.", false, true));
    domain = new Domain();
    domain.l(getVideoCategoryOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.CATEGORY, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "An indicator of the specific category of motion image (information about the bands of visible or infrared region of electromagnetic continuum being used). The specific category of an image reveals its intended use or the nature of its collector.", false, true));
    domain = new Domain();
    domain.l(getVideoEncodingSchemeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.ENCODING_SCHEME, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "A code that indicates the manner in which the motion imagery was encoded.", false, true));
    domain = new Domain();
    domain.fr(MAX_STANAG_4559_RANGE);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.FRAME_RATE, AttributeType.FLOATING_POINT, domain, "", "", RequirementMode.OPTIONAL, "The standard rate (in frames per second (FPS)) at which the motion imagery was captured. Note: The Motion Imagery Standards Profile identifies several values, such as: 23.98 FPS, 24 FPS, 29.97 FPS, 30 FPS, 59.94 FPS.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_ROWS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "The frame vertical resolution.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_COLS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "The frame horizontal resolution.", false, true));
    domain = new Domain();
    domain.l(getMetadataEncodingSchemeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.METADATA_ENC_SCHEME, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "A code that indicates the manner in which the metadata for the motion imagery was encoded.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, 12));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.MISM_LEVEL, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "From [AEDP-8]: The \"Motion Imagery Systems (Spatial and Temporal) Matrix\" (MISM) defines an ENGINEERING GUIDELINE for the simple identification of broad categories of Motion Imagery Systems. The intent of the MISM is to give user communities an easy to use, common shorthand reference language to describe the fundamental technical capabilities of NATO motion imagery systems.", false, true));
    domain = new Domain();
    domain.l(getVideoScanningModeOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.SCANNING_MODE, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "Indicate if progressive or interlaced scans are being applied.", false, true));
    domain = new Domain();
    domain.bv(false);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.VMTI_PROCESSED, AttributeType.BOOLEAN_DATA, domain, "", "", RequirementMode.OPTIONAL, "A flag indicating if the video stream or file has been processed by a VMTI processor.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUM_VMTI_TGT_REPORTS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "The maximum number of unique detections in any one (1) second interval. For a video stream the numberOfVMTITargetReports shall not be provided a value.", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) IntegerRange(org.codice.alliance.nsili.common.GIAS.IntegerRange) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Example 7 with IntegerRange

use of org.codice.alliance.nsili.common.GIAS.IntegerRange in project alliance by codice.

the class NsiliAttributesGenerator method getNsilImageryAttributes.

public static List<AttributeInformation> getNsilImageryAttributes() {
    String prefix = NsiliConstants.NSIL_IMAGERY + ".";
    Domain domain;
    List<AttributeInformation> attributes = new ArrayList<>();
    domain = new Domain();
    domain.l(getImageryCategoryOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.CATEGORY, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "A valid indicator of the specific category of image, raster, or grid data. The specific category of an image reveals its intended use or the nature of its collector.", false, true));
    domain = new Domain();
    domain.ir(PERCENT_INT_RANGE);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.CLOUD_COVER_PCT, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "A code that indicates the percentage of the image obscured by cloud cover.", false, true));
    domain = new Domain();
    domain.t(800);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.COMMENTS, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "Comments related to the image", false, true));
    domain = new Domain();
    domain.l(getImageryDecompressionTechOptions());
    attributes.add(new AttributeInformation(prefix + NsiliConstants.DECOMPRESSION_TECHNIQUE, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "Specification of algorithm or process to apply to read or expand the image to which compression techniques have been applied.", false, true));
    domain = new Domain();
    domain.t(10);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.IDENTIFIER, AttributeType.TEXT, domain, "", "", RequirementMode.MANDATORY, "This field shall contain a valid alphanumeric identification code associated with the image. The valid codes are determined by the application.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, 9));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NIIRS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "NIIRS - National Image Interpretability Rating Scales (NIIRS) -defines and measures the quality of images and the performance of imaging systems.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(0, 99999));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_BANDS, AttributeType.INTEGER, domain, "", "", RequirementMode.MANDATORY, "The number of data bands within the specified image.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_ROWS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "Number of significant rows in Image. This field shall contain the total number of rows of significant pixels in the image. It could be that an image has been padded with fill data (to fill out the last part of the block in a blocked image). The meaning of 'significant' is then only the rows conveying image data excluding all the rows with padded fill data.", false, true));
    domain = new Domain();
    domain.ir(new IntegerRange(1, Integer.MAX_VALUE));
    attributes.add(new AttributeInformation(prefix + NsiliConstants.NUMBER_OF_COLS, AttributeType.INTEGER, domain, "", "", RequirementMode.OPTIONAL, "Number of significant columns in Image. This field shall contain the total number of columns of significant pixels in the image. It could be that an image has been padded with fill data (to fill out the last part of the block in a blocked image). The meaning of 'significant' is then only the columns conveying image data excluding all the columns with padded fill data.", false, true));
    domain = new Domain();
    domain.t(80);
    attributes.add(new AttributeInformation(prefix + NsiliConstants.TITLE, AttributeType.TEXT, domain, "", "", RequirementMode.OPTIONAL, "This field shall contain the title of the image.", false, true));
    return attributes;
}
Also used : AttributeInformation(org.codice.alliance.nsili.common.GIAS.AttributeInformation) IntegerRange(org.codice.alliance.nsili.common.GIAS.IntegerRange) ArrayList(java.util.ArrayList) Domain(org.codice.alliance.nsili.common.GIAS.Domain)

Aggregations

ArrayList (java.util.ArrayList)7 AttributeInformation (org.codice.alliance.nsili.common.GIAS.AttributeInformation)7 Domain (org.codice.alliance.nsili.common.GIAS.Domain)7 IntegerRange (org.codice.alliance.nsili.common.GIAS.IntegerRange)7 HashMap (java.util.HashMap)1 List (java.util.List)1 DateRange (org.codice.alliance.nsili.common.GIAS.DateRange)1 Matchers.containsString (org.hamcrest.Matchers.containsString)1