@@ -2,9 +2,10 @@ import { D } from '@angular/cdk/keycodes';
2
2
import { Injectable , Input } from '@angular/core' ;
3
3
import { Cell } from '../../core/model/cell' ;
4
4
import { Draft } from "../../core/model/draft" ;
5
- import { VaeService } from "../../core/provider/vae"
6
- import { PatternfinderService } from "../../core/provider/patternfinder"
5
+ import { VaeService } from "../../core/provider/vae.service "
6
+ import { PatternfinderService } from "../../core/provider/patternfinder.service "
7
7
import utilInstance from '../../core/model/util' ;
8
+ import { Loom } from '../../core/model/loom' ;
8
9
9
10
export interface OperationParams {
10
11
name : string ,
@@ -1425,45 +1426,54 @@ export class OperationService {
1425
1426
] ,
1426
1427
max_inputs : 1 ,
1427
1428
perform : ( inputs : Array < Draft > , input_params : Array < number > ) :Array < Draft > => {
1428
- return [ ] ;
1429
-
1430
- // this.vae.loadModels('german').then(() => {
1431
- // if (this.generativeMode) {
1432
- // this.vae.loadModels(this.collection);
1433
- // let pattern = this.patternFinder.computePatterns(this.loom.threading, this.loom.treadling, this.draft.pattern);
1434
- // var suggestions = [];
1435
- // let draftSeed = this.patternToSize(pattern, this.warpSize, this.weftSize);
1436
- // this.vae.generateFromSeed(draftSeed).then(suggestionsRet => {
1437
- // suggestions = suggestionsRet;
1438
- // console.log('suggestions:', suggestions);
1439
- // for (var i = 0; i < suggestions.length; i++) {
1440
- // let treadlingSuggest = this.patternFinder.getTreadlingFromArr(suggestions[i]);
1441
- // let threadingSuggest = this.patternFinder.getThreadingFromArr(suggestions[i]);
1442
- // let pattern = this.patternFinder.computePatterns(threadingSuggest, treadlingSuggest, suggestions[i])
1443
- // let draft = new Draft({});
1444
- // for (var i = 0; i < pattern.length; i++) {
1445
- // var first = false;
1446
- // if (i != 0) {
1447
- // draft.pattern.push([]);
1448
- // } else {
1449
- // first = true;
1450
- // }
1451
- // for (var j = 0; j < pattern[i].length; j++) {
1452
- // if (first && j == 0) {
1453
- // draft.pattern[i][j] = new Cell(pattern[i][j] == 1 ? true : false);
1454
- // } else {
1455
- // draft.pattern[i].push(new Cell(pattern[i][j] == 1 ? true : false));
1456
- // }
1457
- // }
1458
- // }
1459
- // this.generated_drafts.push(draft);
1460
- // }
1461
- // });
1462
- // }
1463
- // });
1464
- // }
1465
-
1466
1429
1430
+
1431
+ if ( inputs . length == 0 ) return [ ] ;
1432
+ let generated : Array < Draft > = [ ] ;
1433
+
1434
+ inputs . forEach ( draft => {
1435
+
1436
+ this . vae . loadModels ( 'german' ) . then ( ( ) => {
1437
+ this . vae . printDecoder ( ) ;
1438
+ const loom :Loom = new Loom ( draft , 8 , 10 ) ;
1439
+ loom . recomputeLoom ( draft ) ;
1440
+ let pattern = this . pfs . computePatterns ( loom . threading , loom . treadling , draft . pattern ) ;
1441
+
1442
+ var suggestions = [ ] ;
1443
+ let draftSeed = utilInstance . patternToSize ( pattern , 48 , 48 ) ;
1444
+ this . vae . generateFromSeed ( draftSeed ) . then ( suggestionsRet => {
1445
+ suggestions = suggestionsRet ;
1446
+
1447
+ for ( var i = 0 ; i < suggestions . length ; i ++ ) {
1448
+ let treadlingSuggest = this . pfs . getTreadlingFromArr ( suggestions [ i ] ) ;
1449
+ let threadingSuggest = this . pfs . getThreadingFromArr ( suggestions [ i ] ) ;
1450
+ let pattern = this . pfs . computePatterns ( threadingSuggest , treadlingSuggest , suggestions [ i ] )
1451
+ const draft :Draft = new Draft ( { warps : pattern [ i ] . length , wefts : pattern . length } ) ;
1452
+ for ( var i = 0 ; i < pattern . length ; i ++ ) {
1453
+ // var first = false;
1454
+ // if (i != 0) {
1455
+ // draft.pattern.push([]);
1456
+ // } else {
1457
+ // first = true;
1458
+ // }
1459
+
1460
+ for ( var j = 0 ; j < pattern [ i ] . length ; j ++ ) {
1461
+ // if (first && j == 0) {
1462
+ // draft.pattern[i][j] = new Cell(pattern[i][j] == 1 ? true : false);
1463
+ // } else {
1464
+ // draft.pattern[i].push(new Cell(pattern[i][j] == 1 ? true : false));
1465
+ draft . pattern [ i ] [ j ] . setHeddle ( ( pattern [ i ] [ j ] == 1 ? true : false ) ) ;
1466
+ // }
1467
+ }
1468
+ }
1469
+
1470
+ console . log ( "returning" , draft , [ draft ] )
1471
+ generated . push ( draft ) ;
1472
+ return [ draft ] ;
1473
+ }
1474
+ } ) ;
1475
+ } ) ;
1476
+ } ) ;
1467
1477
1468
1478
}
1469
1479
@@ -1503,6 +1513,7 @@ export class OperationService {
1503
1513
this . ops . push ( overlay ) ;
1504
1514
this . ops . push ( atop ) ;
1505
1515
this . ops . push ( mask ) ;
1516
+ this . ops . push ( germanify ) ;
1506
1517
// this.ops.push(reverse);
1507
1518
1508
1519
@@ -1528,6 +1539,11 @@ export class OperationService {
1528
1539
ops : [ mirror , interlace , layer , tile , joinleft , selvedge , atop , overlay , mask , bindweftfloats , bindwarpfloats ] }
1529
1540
) ;
1530
1541
1542
+ this . classification . push (
1543
+ { category : 'machine learning' ,
1544
+ ops : [ germanify ] }
1545
+ ) ;
1546
+
1531
1547
}
1532
1548
1533
1549
0 commit comments