tfjs-evolution 0.0.2 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -4,7 +4,74 @@ This is a placeholder for a package I am planning to publish.
4
4
  I have experimented with Evolutionary Computing in TensorFlow.js, and I am planning a paper and a NPN package.
5
5
  I was unable to find a NPM package, and decided to create one!
6
6
 
7
+ I am releasing the parts by parts.
8
+ You can start to test the released parts, and let me know your thoughts.
9
+
10
+ # Seeing your images
11
+
12
+ You can see your images, it can useful to have an idea about how it looks like, what you are trying to feed the model.
13
+ Remember: "garbage in garbage out".
14
+
15
+ Import the directive for the panel.
16
+
17
+ `import { DisplayPanelComponent } from 'tfjs-evolution';`
18
+
19
+
20
+ Make sure to import the component. Angular is now standalone by default.
21
+
22
+ ` imports: [DisplayPanelComponent]`
23
+
24
+ Create a local instance, for calling the component method.
25
+
26
+ ` @ViewChild(DisplayPanelComponent) child!:DisplayPanelComponent;`
27
+
28
+ Add a list of class names. It must be the same on the folder names.
29
+
30
+ ```` typescript
31
+ classes_names=[
32
+ "Canário-da-Terra",
33
+ "Pardal",
34
+ "Bem-Te-Vi",
35
+ "Suiriri-Cavaleiro",
36
+ "Lavadeira-Mascarada",
37
+ "Anu-Branco",
38
+ "Beija-Flor-Tesoura",
39
+ "Casaca-de-Couro-da-Lama",
40
+ "Garibaldi",
41
+ "Periquitão",
42
+ "Pombo-Doméstico",
43
+ "Quero-Quero",
44
+ "Rolinha-Roxa",
45
+ "Sabiá-Do-Campo",
46
+ "Urubu-de-Cabeça-Preta"
47
+ ]
48
+ ````
49
+ Make the call for loading images. You could most likely make the call at the constructor.
50
+
51
+
52
+ ```typescript
53
+ ngAfterViewInit(): void {
54
+ const options={
55
+ base: "./assets/dataset",//base where are you iamges
56
+ file_name:"image",//how your images are named
57
+ file_extension:"jpeg" //extension used
58
+ };
59
+
60
+ //Finally, call the load images methods
61
+ this.child.loadImages(5, options)
62
+ }
63
+ ```
64
+
65
+ Finally, do not forget to add the HTML code
66
+
67
+ ```html
68
+ <h1>Images used on the training</h1>
69
+ <neuroevolution-display-panel></neuroevolution-display-panel>
70
+
71
+ ```
72
+
73
+ You should see in our HTML file, in Angular, the images
7
74
 
8
75
  # Further help
9
76
 
10
- Feel free to get in touch: jorgeguerrabrazil@gmail.co
77
+ Feel free to get in touch: jorgeguerrabrazil@gmail.com
@@ -0,0 +1,32 @@
1
+ import { Component } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class DisplayPanelComponent {
6
+ constructor() {
7
+ this.classes = [];
8
+ }
9
+ loadImages(number_of_species, classes_names, options) {
10
+ this.classes_names = classes_names;
11
+ this.add_species(number_of_species, options);
12
+ }
13
+ add_species(number_of_species, options) {
14
+ for (let i = 0; i < this.classes_names.length; i++) {
15
+ this.add_images(this.classes_names[i], number_of_species, options);
16
+ }
17
+ }
18
+ add_images(name, number_of_species, options) {
19
+ const class_add = [];
20
+ for (let i = 1; i < number_of_species; i++) {
21
+ class_add.push(`${options.base}/${name}/${options.file_name} ${i}.${options.file_extension}`);
22
+ }
23
+ this.classes.push({ name: name, images: class_add });
24
+ }
25
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: DisplayPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
26
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: DisplayPanelComponent, isStandalone: true, selector: "neuroevolution-display-panel", ngImport: i0, template: "<div *ngFor=\"let class of classes; index as i\">\r\n <h1>{{class.name}}</h1>\r\n <img *ngFor=\"let item of class.images; index as i\" [src]=\"item\" width=\"10%\" height=\"10%\" [id]=\"'class-1-' + i\" crossorigin=\"anonymous\" >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
27
+ }
28
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: DisplayPanelComponent, decorators: [{
29
+ type: Component,
30
+ args: [{ selector: 'neuroevolution-display-panel', standalone: true, imports: [CommonModule], template: "<div *ngFor=\"let class of classes; index as i\">\r\n <h1>{{class.name}}</h1>\r\n <img *ngFor=\"let item of class.images; index as i\" [src]=\"item\" width=\"10%\" height=\"10%\" [id]=\"'class-1-' + i\" crossorigin=\"anonymous\" >\r\n</div>\r\n" }]
31
+ }] });
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlzcGxheS1wYW5lbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZmpzLWV2b2x1dGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZGlzcGxheS1wYW5lbC9kaXNwbGF5LXBhbmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RmanMtZXZvbHV0aW9uL3NyYy9saWIvY29tcG9uZW50cy9kaXNwbGF5LXBhbmVsL2Rpc3BsYXktcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7OztBQVMvQyxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBU0UsWUFBTyxHQUFVLEVBQUUsQ0FBQztLQThCckI7SUExQkMsVUFBVSxDQUFDLGlCQUF5QixFQUFFLGFBQXVCLEVBQUUsT0FBZTtRQUM1RSxJQUFJLENBQUMsYUFBYSxHQUFDLGFBQWEsQ0FBQztRQUVqQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHRCxXQUFXLENBQUMsaUJBQXlCLEVBQUUsT0FBZTtRQUVwRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxFQUFFLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFZLEVBQUUsaUJBQXlCLEVBQUUsT0FBWTtRQUU5RCxNQUFNLFNBQVMsR0FBTyxFQUFFLENBQUM7UUFFekIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGlCQUFpQixFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLENBQUMsQ0FBQztTQUNqRztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtJQUVsRCxDQUFDOzhHQTlCVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix3RkNYbEMseVBBSUEseURER1ksWUFBWTs7MkZBSVgscUJBQXFCO2tCQVBqQyxTQUFTOytCQUNFLDhCQUE4QixjQUM1QixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZ3JvdXAnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZXVyb2V2b2x1dGlvbi1kaXNwbGF5LXBhbmVsJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kaXNwbGF5LXBhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vZGlzcGxheS1wYW5lbC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgRGlzcGxheVBhbmVsQ29tcG9uZW50IHtcclxuXHJcbiAgY2xhc3NlczogR3JvdXBbXT1bXTtcclxuXHJcbiAgY2xhc3Nlc19uYW1lcyE6IHN0cmluZ1tdO1xyXG5cclxuICBsb2FkSW1hZ2VzKG51bWJlcl9vZl9zcGVjaWVzOiBudW1iZXIsIGNsYXNzZXNfbmFtZXM6IHN0cmluZ1tdLCBvcHRpb25zOiBvYmplY3Qpe1xyXG4gICAgdGhpcy5jbGFzc2VzX25hbWVzPWNsYXNzZXNfbmFtZXM7XHJcblxyXG4gICAgdGhpcy5hZGRfc3BlY2llcyhudW1iZXJfb2Zfc3BlY2llcywgb3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuXHJcbiAgYWRkX3NwZWNpZXMobnVtYmVyX29mX3NwZWNpZXM6IG51bWJlciwgb3B0aW9uczogb2JqZWN0KXtcclxuXHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2xhc3Nlc19uYW1lcy5sZW5ndGg7IGkrKykge1xyXG4gICAgICB0aGlzLmFkZF9pbWFnZXModGhpcy5jbGFzc2VzX25hbWVzW2ldLCBudW1iZXJfb2Zfc3BlY2llcywgb3B0aW9ucyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRfaW1hZ2VzKG5hbWU6IHN0cmluZywgbnVtYmVyX29mX3NwZWNpZXM6IG51bWJlciwgb3B0aW9uczogYW55KXsgICBcclxuXHJcbiAgICBjb25zdCBjbGFzc19hZGQ6IGFueT0gW107XHJcblxyXG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBudW1iZXJfb2Zfc3BlY2llczsgaSsrKSB7ICAgICAgXHJcbiAgICAgIGNsYXNzX2FkZC5wdXNoKGAke29wdGlvbnMuYmFzZX0vJHtuYW1lfS8ke29wdGlvbnMuZmlsZV9uYW1lfSAke2l9LiR7b3B0aW9ucy5maWxlX2V4dGVuc2lvbn1gKTtcclxuICB9XHJcblxyXG4gIHRoaXMuY2xhc3Nlcy5wdXNoKHtuYW1lOiBuYW1lLCBpbWFnZXM6IGNsYXNzX2FkZH0pICBcclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2ICpuZ0Zvcj1cImxldCBjbGFzcyBvZiBjbGFzc2VzOyBpbmRleCBhcyBpXCI+XHJcbiAgPGgxPnt7Y2xhc3MubmFtZX19PC9oMT5cclxuICA8aW1nICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBjbGFzcy5pbWFnZXM7IGluZGV4IGFzIGlcIiBbc3JjXT1cIml0ZW1cIiB3aWR0aD1cIjEwJVwiIGhlaWdodD1cIjEwJVwiIFtpZF09XCInY2xhc3MtMS0nICsgaVwiIGNyb3Nzb3JpZ2luPVwiYW5vbnltb3VzXCIgPlxyXG48L2Rpdj5cclxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZmpzLWV2b2x1dGlvbi9zcmMvbGliL2ludGVyZmFjZXMvZ3JvdXAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgR3JvdXAge1xyXG4gICAgbmFtZTogc3RyaW5nLFxyXG4gICAgaW1hZ2VzOiBzdHJpbmdbXVxyXG59XHJcbiJdfQ==
@@ -3,4 +3,5 @@
3
3
  */
4
4
  export * from './lib/tfjs-evolution.service';
5
5
  export * from './lib/tfjs-evolution.component';
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RmanMtZXZvbHV0aW9uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHRmanMtZXZvbHV0aW9uXHJcbiAqL1xyXG5cclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGZqcy1ldm9sdXRpb24uc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RmanMtZXZvbHV0aW9uLmNvbXBvbmVudCc7XHJcbiJdfQ==
6
+ export * from './lib/components/display-panel/display-panel.component';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3RmanMtZXZvbHV0aW9uL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsd0RBQXdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxyXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdGZqcy1ldm9sdXRpb25cclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi90ZmpzLWV2b2x1dGlvbi5zZXJ2aWNlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvdGZqcy1ldm9sdXRpb24uY29tcG9uZW50JztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGlzcGxheS1wYW5lbC9kaXNwbGF5LXBhbmVsLmNvbXBvbmVudCc7XHJcbiJdfQ==
@@ -1,5 +1,7 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Component } from '@angular/core';
3
+ import * as i1 from '@angular/common';
4
+ import { CommonModule } from '@angular/common';
3
5
 
4
6
  class TfjsEvolutionService {
5
7
  constructor() { }
@@ -30,6 +32,34 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
30
32
  ` }]
31
33
  }] });
32
34
 
35
+ class DisplayPanelComponent {
36
+ constructor() {
37
+ this.classes = [];
38
+ }
39
+ loadImages(number_of_species, classes_names, options) {
40
+ this.classes_names = classes_names;
41
+ this.add_species(number_of_species, options);
42
+ }
43
+ add_species(number_of_species, options) {
44
+ for (let i = 0; i < this.classes_names.length; i++) {
45
+ this.add_images(this.classes_names[i], number_of_species, options);
46
+ }
47
+ }
48
+ add_images(name, number_of_species, options) {
49
+ const class_add = [];
50
+ for (let i = 1; i < number_of_species; i++) {
51
+ class_add.push(`${options.base}/${name}/${options.file_name} ${i}.${options.file_extension}`);
52
+ }
53
+ this.classes.push({ name: name, images: class_add });
54
+ }
55
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: DisplayPanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
56
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.4", type: DisplayPanelComponent, isStandalone: true, selector: "neuroevolution-display-panel", ngImport: i0, template: "<div *ngFor=\"let class of classes; index as i\">\r\n <h1>{{class.name}}</h1>\r\n <img *ngFor=\"let item of class.images; index as i\" [src]=\"item\" width=\"10%\" height=\"10%\" [id]=\"'class-1-' + i\" crossorigin=\"anonymous\" >\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
57
+ }
58
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImport: i0, type: DisplayPanelComponent, decorators: [{
59
+ type: Component,
60
+ args: [{ selector: 'neuroevolution-display-panel', standalone: true, imports: [CommonModule], template: "<div *ngFor=\"let class of classes; index as i\">\r\n <h1>{{class.name}}</h1>\r\n <img *ngFor=\"let item of class.images; index as i\" [src]=\"item\" width=\"10%\" height=\"10%\" [id]=\"'class-1-' + i\" crossorigin=\"anonymous\" >\r\n</div>\r\n" }]
61
+ }] });
62
+
33
63
  /*
34
64
  * Public API Surface of tfjs-evolution
35
65
  */
@@ -38,5 +68,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.4", ngImpor
38
68
  * Generated bundle index. Do not edit.
39
69
  */
40
70
 
41
- export { TfjsEvolutionComponent, TfjsEvolutionService };
71
+ export { DisplayPanelComponent, TfjsEvolutionComponent, TfjsEvolutionService };
42
72
  //# sourceMappingURL=tfjs-evolution.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tfjs-evolution.mjs","sources":["../../../projects/tfjs-evolution/src/lib/tfjs-evolution.service.ts","../../../projects/tfjs-evolution/src/lib/tfjs-evolution.component.ts","../../../projects/tfjs-evolution/src/public-api.ts","../../../projects/tfjs-evolution/src/tfjs-evolution.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TfjsEvolutionService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'neuroevolution-tfjs-evolution',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n tfjs-evolution works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class TfjsEvolutionComponent {\r\n\r\n}\r\n","/*\r\n * Public API Surface of tfjs-evolution\r\n */\r\n\r\nexport * from './lib/tfjs-evolution.service';\r\nexport * from './lib/tfjs-evolution.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;MAKa,oBAAoB,CAAA;AAE/B,IAAA,WAAA,GAAA,GAAiB;8GAFN,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAApB,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,cAFnB,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEP,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAHhC,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA,CAAA;;;MCSY,sBAAsB,CAAA;8GAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAtB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAPvB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,+BAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;2FAGU,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAXlC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,+BAA+B,EAC7B,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,EAAE,EACD,QAAA,EAAA,CAAA;;;;AAIT,EAAA,CAAA,EAAA,CAAA;;;ACVH;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"tfjs-evolution.mjs","sources":["../../../projects/tfjs-evolution/src/lib/tfjs-evolution.service.ts","../../../projects/tfjs-evolution/src/lib/tfjs-evolution.component.ts","../../../projects/tfjs-evolution/src/lib/components/display-panel/display-panel.component.ts","../../../projects/tfjs-evolution/src/lib/components/display-panel/display-panel.component.html","../../../projects/tfjs-evolution/src/public-api.ts","../../../projects/tfjs-evolution/src/tfjs-evolution.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TfjsEvolutionService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'neuroevolution-tfjs-evolution',\r\n standalone: true,\r\n imports: [],\r\n template: `\r\n <p>\r\n tfjs-evolution works!\r\n </p>\r\n `,\r\n styles: ``\r\n})\r\nexport class TfjsEvolutionComponent {\r\n\r\n}\r\n","import { Component} from '@angular/core';\r\nimport { Group } from '../../interfaces/group';\r\nimport { CommonModule } from '@angular/common';\r\n\r\n@Component({\r\n selector: 'neuroevolution-display-panel',\r\n standalone: true,\r\n imports: [CommonModule],\r\n templateUrl: './display-panel.component.html',\r\n styleUrl: './display-panel.component.css'\r\n})\r\nexport class DisplayPanelComponent {\r\n\r\n classes: Group[]=[];\r\n\r\n classes_names!: string[];\r\n\r\n loadImages(number_of_species: number, classes_names: string[], options: object){\r\n this.classes_names=classes_names;\r\n\r\n this.add_species(number_of_species, options);\r\n }\r\n\r\n\r\n add_species(number_of_species: number, options: object){\r\n\r\n for (let i = 0; i < this.classes_names.length; i++) {\r\n this.add_images(this.classes_names[i], number_of_species, options);\r\n }\r\n }\r\n\r\n add_images(name: string, number_of_species: number, options: any){ \r\n\r\n const class_add: any= [];\r\n\r\n for (let i = 1; i < number_of_species; i++) { \r\n class_add.push(`${options.base}/${name}/${options.file_name} ${i}.${options.file_extension}`);\r\n }\r\n\r\n this.classes.push({name: name, images: class_add}) \r\n\r\n }\r\n\r\n}\r\n","<div *ngFor=\"let class of classes; index as i\">\r\n <h1>{{class.name}}</h1>\r\n <img *ngFor=\"let item of class.images; index as i\" [src]=\"item\" width=\"10%\" height=\"10%\" [id]=\"'class-1-' + i\" crossorigin=\"anonymous\" >\r\n</div>\r\n","/*\r\n * Public API Surface of tfjs-evolution\r\n */\r\n\r\nexport * from './lib/tfjs-evolution.service';\r\nexport * from './lib/tfjs-evolution.component';\r\n\r\nexport * from './lib/components/display-panel/display-panel.component';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { Group } from '../../interfaces/group';
2
+ import * as i0 from "@angular/core";
3
+ export declare class DisplayPanelComponent {
4
+ classes: Group[];
5
+ classes_names: string[];
6
+ loadImages(number_of_species: number, classes_names: string[], options: object): void;
7
+ add_species(number_of_species: number, options: object): void;
8
+ add_images(name: string, number_of_species: number, options: any): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<DisplayPanelComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<DisplayPanelComponent, "neuroevolution-display-panel", never, {}, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,4 @@
1
+ export interface Group {
2
+ name: string;
3
+ images: string[];
4
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tfjs-evolution",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "description": "This is an experimentation with evolutionary computing applied to neural networks using TensorFlow.js",
5
5
  "author": "Jorge Guerra Pires",
6
6
  "license": "MIT",
package/public-api.d.ts CHANGED
@@ -1,2 +1,3 @@
1
1
  export * from './lib/tfjs-evolution.service';
2
2
  export * from './lib/tfjs-evolution.component';
3
+ export * from './lib/components/display-panel/display-panel.component';