Saturday, 29 August 2026

Why Accuracy Alone Is Not Enough in Textile Image Classification



A textile image classifier may report 95% accuracy and still fail on the classes that matter most. The problem is not necessarily the model; it may be the way performance is being measured.

Computer vision is increasingly used for fabric-defect detection, fibre and weave identification, garment inspection, print recognition and saree classification. Accuracy is usually the first number reported because it is easy to understand: how many test images were classified correctly? Yet textile datasets are rarely perfectly balanced, and several classes may share colours, borders, motifs, yarn effects or surface textures. Under these conditions, one overall percentage can conceal serious weaknesses.

This question extends the earlier My Textile Notes discussion on deep learning for saree texture identification. Once a model has been built, the next challenge is deciding whether its performance is genuinely useful.

Why a High Accuracy Can Be Misleading

Accuracy is the number of correct predictions divided by the total number of predictions. It is valid, but it gives every image equal weight rather than every class equal importance. Imagine a hypothetical textile test set containing 700 images from a dominant catalogue class, 200 ikat images, 80 brocade images and only 20 images from a rare handloom class. Suppose the model correctly identifies 680, 170, 45 and 2 images respectively. Overall accuracy is 897 out of 1,000, or 89.7%.

That sounds respectable. However, recall for the rare class is only 10%, and recall for the 80-image class is about 56%. The model is performing well mainly because the large classes dominate the total. A merchandiser, museum archive or provenance-research project could therefore receive a reassuring accuracy figure while the less common textiles are being missed.

Many common fabric swatches classified correctly while a small group of ornate textile swatches is misclassified.

Strong performance on a majority class can hide failure on rare but important textiles.

Read the Confusion Matrix Before Celebrating

A confusion matrix places true classes in rows and predicted classes in columns. The diagonal contains correct predictions; off-diagonal cells show the direction of errors. This is especially valuable in textiles because not all mistakes are equally informative. If two classes are repeatedly confused, the pattern may point to similar motifs, inadequate image views, inconsistent labelling, insufficient samples or a taxonomy that cannot be resolved from appearance alone.

For example, images of two saree traditions may share floral zari, contrast borders or similar catalogue photography even though their weaving structures and provenance differ. The confusion matrix reveals the pairwise problem that accuracy suppresses. It should be examined in both raw counts and row-normalised form: counts show the workload represented by each error, while row normalisation shows what proportion of each true class is being recovered.

A five-class textile confusion matrix with a strong diagonal and two off-diagonal confusion clusters.

Off-diagonal clusters identify the textile pairs that require better data, labels or features.

The Minimum Metric Set

Measure What it answers Why it matters in textiles
Per-class recall Of all true images in a class, how many were found? Exposes classes the model repeatedly misses.
Per-class precision Of all images assigned to a class, how many really belong there? Shows whether a label is being overused.
F1 score How well are precision and recall balanced? Useful when false positives and false negatives both matter.
Macro-F1 What is the unweighted average of class-level F1 scores? Prevents large classes from dominating the summary.
Balanced accuracy What is the average recall across classes? Makes minority-class weakness visible.

The official scikit-learn model-evaluation guide defines precision, recall and F-measures and explains multiclass averaging. Its documentation defines balanced accuracy as the average recall obtained on each class. In the hypothetical example above, balanced accuracy is only about 62%, far below the 89.7% overall accuracy. Weighted-F1 should also be treated cautiously because weighting by class support can again allow large classes to dominate.

Prevent Leakage Before Calculating Any Metric

Metrics are trustworthy only when the test set is genuinely independent. Textile datasets often contain several photographs of the same physical saree, garment, fabric roll or defect: full view, pallu, border, close-up and reverse side. If these related images are randomly divided, one view can enter training while another view of the same item enters testing. The model may recognise the product, background or photo session rather than learning a general textile characteristic.

A group-aware split keeps all images from one physical item together. The GroupKFold documentation describes non-overlapping groups, with each group appearing in the test set once across the folds. Depending on the research claim, an appropriate group may be a physical saree, fabric roll, production lot, motif artwork, vendor or photography session. The grouping decision should be recorded in the paper or project report.

Grouped saree images separated into training and testing sets, followed by a neural network, multiple evaluation measures and expert error review.

A trustworthy pipeline combines group-aware splitting, several metrics and expert review of difficult image pairs.

Match Evaluation to the Real Decision

The best metric depends on how the system will be used. For automatic catalogue tagging, precision may be important because a wrong public label damages trust. For archive retrieval, recall may matter more because missing a relevant textile is costly. For an expert-assistance tool, top-k accuracy can be useful: the correct class may be accepted if it appears among the model’s three most likely suggestions. Top-k performance, however, should complement rather than replace top-1 and class-wise results.

Error cost also varies. Confusing two colourways within one construction is not equivalent to assigning an unsupported provenance or craft identity. Visual appearance alone may not prove fibre composition, weaving technique, authenticity or geographical origin. A textile expert should review recurring error pairs and decide whether better images, microscopic structure, metadata or a revised label hierarchy is required.

This evaluation logic also applies beyond image classification. Readers interested in data-driven textile decisions may connect it with Python modelling for cotton yarn quality, optimising yarn quality through raw-material parameters, and marker efficiency as an optimisation problem. In every case, a model is useful only when its evaluation reflects the actual industrial or research decision.

A Practical Reporting Checklist

  1. Report the number of images and physical groups in each class.
  2. Explain how train, validation and test sets were separated.
  3. Provide accuracy, macro-F1, balanced accuracy and per-class precision and recall.
  4. Show raw and row-normalised confusion matrices.
  5. Review the most frequent error pairs with a textile expert.
  6. Test on images from new products, lots, vendors or capture conditions.
  7. State what the model cannot establish from an image alone.

Conclusion

Accuracy is a useful starting point, not a complete verdict. Textile image datasets combine class imbalance, fine visual differences, repeated views and domain-specific error costs. A reliable evaluation therefore needs class-wise metrics, a confusion matrix, group-aware splitting and expert interpretation. The most important question is not “How high is the accuracy?” but “Which textiles does the model recognise, which does it confuse, and would those errors be acceptable in the intended application?”

Sources and Acknowledgement

Friday, 28 August 2026

AATCC TM195 Explained: How to Read Moisture Management Test Results



A fabric may absorb sweat, spread it, move it away from the skin, or simply hold it where it first lands. These behaviours are related, but they are not the same. AATCC TM195 helps separate them.

Moisture management has become an important selling point in activewear, innerwear, sports uniforms, socks, workwear and next-to-skin clothing. Yet the phrase is often used loosely. A fabric may be described as “moisture managing” merely because it is made from polyester, contains a finish, or dries quickly in an informal trial. Such statements can be misleading because comfort depends on several different processes: wetting, absorption, liquid transfer through the thickness, spreading across each surface, evaporation and heat transfer.

AATCC TM195, Liquid Moisture Management Properties of Textile Fabrics, is designed to measure, evaluate and classify the dynamic liquid-moisture behaviour of knitted, woven and nonwoven fabrics. It is particularly useful when a buyer, mill or product developer wants to understand what happens after liquid sweat reaches the skin-facing side of a fabric.

How the Moisture Management Tester Works

A specimen is placed horizontally between an upper and a lower sensor. The upper surface normally represents the side worn next to the skin, while the lower surface represents the outer side of the garment. A controlled test liquid is introduced onto the upper face. Concentric sensor rings then track changes in electrical response as the liquid wets, spreads and passes through the fabric.

The instrument does not produce only one number. It records a time-dependent moisture profile for both fabric faces. A commercial MMT system typically reports wetting time, absorption rate, maximum wetted radius and spreading speed for the top and bottom surfaces, together with one-way transport capability and Overall Moisture Management Capability. The SDL Atlas MMT literature describes this as a two-minute performance profile. Laboratories should, however, follow the current authorised version of the test method rather than rely on an instrument brochure for procedural details.

Fabric specimen between upper and lower moisture-management sensors, with liquid spreading and moving through the fabric.

The tester separately tracks wetting and spreading on the skin-facing and outer surfaces.

The Main Results and What They Mean

Result Practical interpretation Common misunderstanding
Wetting time Time before each surface begins to wet. A shorter time means that face responds to liquid sooner. Fast wetting alone does not prove that moisture moves away from the skin.
Absorption rate Rate at which the measured water content rises on each surface after wetting. High top-face absorption may mean that sweat is being retained near the skin.
Maximum wetted radius Farthest radial distance reached by liquid on the top or bottom sensor. It should not be treated as a complete measurement of irregular wetted area.
Spreading speed How quickly the wetting front travels across each face. Fast spreading can support evaporation, but the test does not directly measure evaporation.
Accumulative one-way transport Compares accumulated liquid on the outer face with that on the skin face. A strongly positive value generally indicates preferential movement toward the outer side. Its sign and meaning depend on correct face orientation.
OMMC A composite index based on bottom-face absorption, one-way transport and bottom-face spreading. It is not a universal comfort score and should not replace the individual results.

The University of Zagreb Textile Faculty’s MMT laboratory page lists the same output family: OMMC, one-way transport, top and bottom wetting time, absorption rate, maximum wetted radius and spreading speed. This is why an MMT report should be read as a pattern rather than reduced immediately to one grade.

Why OMMC Must Be Read Carefully

Overall Moisture Management Capability is useful because it combines three desirable behaviours: liquid should be taken up on the outer face, transported preferentially from the inner face to the outer face, and spread on the outer face. In commonly reported formulations, one-way transport receives greater weight than either bottom absorption or bottom spreading. The logic is sensible: a fabric that absorbs sweat but keeps it beside the skin is not managing moisture in the same way as a fabric that moves it outward.

Nevertheless, two fabrics with similar OMMC values may behave differently. One may achieve its score through strong one-way transport but moderate spreading; another may spread rapidly while showing weaker through-thickness transfer. Product developers should therefore retain the complete top-versus-bottom result table and moisture curves when comparing constructions or finishes.

Three Typical Moisture-Management Patterns

  1. Absorbent but clammy: The top surface wets quickly and absorbs strongly, while bottom-face spreading and one-way transport remain low. A hydrophilic fibre can absorb sweat without efficiently moving it away from the skin.
  2. Water-repellent on both faces: Wetting is delayed and the wetted radii remain small. This may be desirable for an outer shell, but it is usually not the desired next-to-skin behaviour for activewear.
  3. Directional moisture management: The skin face accepts the liquid, the outer face wets and spreads, and the one-way transport value is positive. This pattern is often sought in plated knits, engineered blends and fabrics with different inner and outer surface chemistries.
Comparison of absorbent-but-clammy, water-repellent and directional moisture-transport behaviours in fabrics.

The same amount of liquid can produce very different top-versus-bottom moisture patterns.

Why Fibre Content Alone Cannot Predict the Result

Cotton is hydrophilic, while conventional polyester is relatively hydrophobic, but a simple cotton-versus-polyester rule is inadequate. Yarn twist, filament or staple form, cross-section, yarn packing, loop geometry, fabric density, thickness, surface roughness, capillary paths and chemical finish all influence the result. A polyester knit with engineered capillaries and a durable hydrophilic finish may transport liquid effectively. A dense cotton fabric may absorb well but spread or dry slowly.

The two faces may also be intentionally different. In a plated knit, a low-absorbency inner yarn can help direct liquid toward a more absorbent outer layer. Brushing, raising, calendaring, coating and softening may alter surface contact and capillary continuity. Readers may connect this with earlier My Textile Notes explanations of how cotton absorbs moisture, the role of textile finishing, and the moisture behaviour of nylon 6,6.

A Practical Testing Plan for Mills and Buyers

  1. Define the end use first. Innerwear, running shirts, school uniforms and waterproof shells do not require the same liquid behaviour.
  2. Mark the fabric faces. Record clearly which side touches the skin. Reversing the specimen can reverse the apparent direction of transport.
  3. Compare construction stages. Test greige, dyed and finished fabric when possible to separate structural effects from finishing effects.
  4. Check durability. Repeat testing after the agreed laundering sequence. A strong initial result from a non-durable hydrophilic finish may disappear in use.
  5. Use complementary tests. AATCC lists separate methods for vertical and horizontal wicking, drying time, drying rate and water-vapour transmission. These properties should not be inferred from TM195 alone.
  6. Judge consistency, not one specimen. Compare replicates, lots, colourways and production batches, especially when a moisture-management claim will appear on packaging or in buyer specifications.

For Indian apparel suppliers, this distinction is commercially important. A mill may develop a polyester–cotton school-uniform fabric, a plated sports knit or a finished hosiery fabric and obtain an attractive OMMC value. That result becomes meaningful only when it is linked to the correct fabric face, wash durability, garment construction, intended climate and complementary drying or vapour-transfer data.

Textile development sequence from fibre and yarn selection through knitting, finishing and laundering to moisture-management verification.

Moisture management is created by the whole textile system, not fibre content alone.

What TM195 Does Not Tell Us

TM195 does not directly reproduce the complete human microclimate. It does not by itself measure sweat evaporation into moving air, water-vapour transmission, thermal resistance, garment fit, pressure at the skin, cling, chafing or the wearer’s subjective sensation. A fabric can move liquid efficiently yet still feel hot because of low air permeability or garment design. Conversely, a loosely constructed fabric may feel comfortable in mild activity even without a high directional-transport score.

This is why AATCC lists TM195 alongside separate moisture, wicking, drying and water-vapour test methods. Good product evaluation treats these tests as complementary pieces rather than competing claims.

Conclusion

AATCC TM195 is valuable because it separates the journey of liquid moisture into observable stages. It tells us when each face wets, how rapidly moisture content rises, how far and how quickly liquid spreads, whether transport is preferentially directed away from the skin, and how these behaviours combine in OMMC.

The most useful question is therefore not, “Which fabric has the highest OMMC?” It is, “Does this top-versus-bottom moisture pattern suit the garment, wearer, climate and use condition?” When read in that way, the test becomes more than a laboratory grade. It becomes a practical development tool for fibre selection, fabric engineering, finishing, quality assurance and truthful product communication.

Related Reading on My Textile Notes

Sources and Acknowledgement

General disclaimer: This article is for educational and technical understanding. Laboratories and suppliers should use the current authorised test method, calibrated equipment, agreed conditioning and sampling procedures, and buyer-approved specifications for commercial decisions.

Sunday, 28 June 2026

Marker Efficiency as an Applied 2D Irregular Nesting Optimization Problem




In garment manufacturing, fabric is one of the largest cost components. A small improvement in fabric utilisation can reduce cost, improve margin and reduce cutting-room waste. This is why marker planning is not merely a drafting activity. It is also an applied optimization problem.

Marker efficiency is usually taught as a simple percentage, but behind that percentage lies a difficult geometric problem. The cutting room has to arrange many garment pattern pieces on a fixed-width fabric surface so that the unused area is as low as possible. Since garment pieces are irregular in shape, the problem is closely related to the two-dimensional irregular nesting or irregular strip-packing problem.

In simple words, the question is:

How can all required garment pattern pieces be placed on a fabric marker of fixed width so that the total marker length and fabric waste are minimized?

Table of Contents


Visual 1: Marker efficiency as an optimization problem — pattern pieces, fixed fabric width, marker length and unused area.

1. What Is Marker Efficiency?

Marker efficiency measures how much of the marker area is actually occupied by garment pattern pieces. It is normally expressed as:

\[ \text{Marker Efficiency} = \frac{\text{Total area occupied by pattern pieces}}{\text{Total marker area}} \times 100 \]

If the total area of all pattern pieces is \(A\), the usable fabric width is \(W\), and the marker length is \(L\), then:

\[ \eta = \frac{A}{W \times L} \times 100 \]

where \(\eta\) is marker efficiency. The total pattern area may also be written as:

\[ A = \sum_{i=1}^{n} A_i \]

Here, \(A_i\) is the area of pattern piece \(i\), and \(n\) is the number of pattern pieces placed in the marker.

For a given garment, the total pattern area is mostly fixed. For a given fabric, the usable width is also mostly fixed. Therefore, improving marker efficiency usually means reducing marker length:

\[ \min L \]

This is the basic mathematical reason why marker planning can be treated as an optimization problem.

2. Why Marker Making Is an Optimization Problem

A marker is not only a drawing of pattern pieces. It is a placement plan. It decides where each front, back, sleeve, collar, cuff, pocket or waistband piece will lie on the fabric before cutting.

If garment pieces were simple rectangles, marker planning would be easier. But garment pieces are usually irregular shapes. They have curves, slopes, armholes, neck drops, sleeve caps, tapered sides and other non-rectangular boundaries. This makes the placement problem difficult.

A good marker tries to use the empty spaces between pieces intelligently. A small piece may fit into the hollow left by a larger piece. Two curved edges may be placed near each other to reduce waste. One arrangement may create long unused gaps, while another arrangement may reduce the marker length.

Thus, marker efficiency is not just about adding areas. It is about arranging shapes.

3. Marker Making as a 2D Irregular Nesting Problem

In operations research, this type of problem is close to the two-dimensional irregular nesting problem. In this problem, irregular shapes must be placed inside a rectangular strip. The strip has a fixed width and an adjustable length. The objective is to minimize the used length.

In garment terms, the strip is the marker. The fixed width is the usable fabric width. The irregular shapes are garment pattern pieces. The objective is to reduce marker length and improve marker efficiency.

The non-overlap condition can be written as:

\[ P_i \cap P_j = \varnothing \quad \forall i \neq j \]

This means that two pattern pieces should not overlap.

Each piece must also remain inside the marker boundary:

\[ P_i \subseteq [0,W] \times [0,L] \]

So the simplified optimization problem becomes:

\[ \min L \]

subject to:

\[ P_i \cap P_j = \varnothing \]

\[ P_i \subseteq [0,W] \times [0,L] \]

In words, place all pieces inside the usable fabric width without overlap, and make the marker as short as possible.

4. Real Garment Constraints

The simplified mathematical problem is useful for understanding the logic. However, real garment markers must obey additional textile and production constraints.

Constraint Meaning in Marker Planning Effect on Efficiency
Grainline Pieces must usually follow the warp direction or a specified angle. Reduces free rotation and may increase waste.
Nap direction Pile, brushed, shaded or directional fabrics may need one-way placement. Prevents reverse placement of pieces.
Print or check matching Stripes, checks, borders or engineered prints may need visual alignment. Can force additional spacing or special placement.
Size ratio The marker may need pieces for several sizes in a fixed ratio. Changes the mix and number of pieces in the marker.
Pairing Left and right components may need controlled flipping or pairing. Limits some placements that look efficient geometrically.
Cutting allowance Small gaps may be needed for cutting accuracy and blade movement. Prevents unrealistically tight packing.

Visual 2: 2D irregular nesting — irregular garment pieces placed inside a fixed-width marker without overlap.

5. A Simple Python Example

The following Python example explains marker efficiency as a simplified 2D nesting problem. Instead of using true CAD pattern pieces, it uses small binary grids. In these grids, the number 1 represents the occupied part of a garment piece, while 0 represents empty space inside the bounding box.

This is a simplified teaching model. It is not a replacement for professional marker-making CAD software. However, it clearly demonstrates the logic of placing irregular shapes inside a fixed-width marker.

from typing import List, Tuple


def rotate_mask(mask):
    """
    Rotate a binary pattern-piece mask by 90 degrees clockwise.
    """
    return [list(row) for row in zip(*mask[::-1])]


def mask_size(mask):
    """
    Return width and height of a binary mask.
    """
    return len(mask[0]), len(mask)


def mask_area(mask):
    """
    Count occupied cells in a binary mask.
    """
    return sum(sum(row) for row in mask)


def ensure_height(grid, height, fabric_width):
    """
    Extend the marker grid vertically when required.
    """
    while len(grid) < height:
        grid.append([0] * fabric_width)


def can_place(grid, mask, x, y, fabric_width):
    """
    Check whether a piece can be placed at position (x, y)
    without crossing fabric width or overlapping existing pieces.
    """
    piece_width, piece_height = mask_size(mask)

    if x + piece_width > fabric_width:
        return False

    ensure_height(grid, y + piece_height, fabric_width)

    for row in range(piece_height):
        for col in range(piece_width):
            if mask[row][col] == 1 and grid[y + row][x + col] != 0:
                return False

    return True


def place_piece(grid, mask, x, y, piece_id):
    """
    Place a piece on the marker grid.
    """
    piece_width, piece_height = mask_size(mask)

    for row in range(piece_height):
        for col in range(piece_width):
            if mask[row][col] == 1:
                grid[y + row][x + col] = piece_id


def used_marker_length(grid):
    """
    Find the used marker length.
    """
    last_used_row = -1

    for row_index, row in enumerate(grid):
        if any(cell != 0 for cell in row):
            last_used_row = row_index

    return last_used_row + 1


def render_marker(grid):
    """
    Print the marker layout.
    Dots represent unused fabric.
    Numbers represent different pattern pieces.
    """
    length = used_marker_length(grid)

    for row in grid[:length]:
        print("".join("." if cell == 0 else str(cell) for cell in row))


def bottom_left_marker(pieces, fabric_width, allow_rotation=True):
    """
    A simple bottom-left marker-making heuristic.

    Larger pieces are placed first.
    Each piece is placed at the lowest and leftmost feasible position.
    """

    pieces = sorted(
        pieces,
        key=lambda piece: mask_area(piece["mask"]),
        reverse=True
    )

    grid = []
    placements = []

    for piece_id, piece in enumerate(pieces, start=1):

        possible_orientations = [(piece["mask"], 0)]

        if allow_rotation:
            rotated = rotate_mask(piece["mask"])
            if rotated != piece["mask"]:
                possible_orientations.append((rotated, 90))

        best_position = None
        max_search_height = 100

        for y in range(max_search_height):
            for x in range(fabric_width):
                for oriented_mask, angle in possible_orientations:
                    if can_place(grid, oriented_mask, x, y, fabric_width):
                        best_position = (x, y, oriented_mask, angle)
                        break

                if best_position is not None:
                    break

            if best_position is not None:
                break

        if best_position is None:
            raise RuntimeError(f"Could not place piece: {piece['name']}")

        x, y, selected_mask, angle = best_position

        ensure_height(
            grid,
            y + mask_size(selected_mask)[1],
            fabric_width
        )

        place_piece(grid, selected_mask, x, y, piece_id)

        placements.append({
            "id": piece_id,
            "name": piece["name"],
            "x": x,
            "y": y,
            "rotation": angle,
            "area": mask_area(selected_mask),
            "size": mask_size(selected_mask)
        })

    total_piece_area = sum(item["area"] for item in placements)
    marker_length = used_marker_length(grid)
    marker_area = fabric_width * marker_length
    marker_efficiency = (total_piece_area / marker_area) * 100

    return grid, placements, marker_length, marker_efficiency

Now let us define a small example. Assume a simple garment has six pattern pieces: front panel, back panel, sleeve, collar, cuff and pocket. The usable fabric width is assumed to be 10 grid units.

pieces = [
    {
        "name": "front panel",
        "mask": [
            [1, 1, 1, 0],
            [1, 1, 1, 1],
            [1, 1, 1, 0],
        ]
    },
    {
        "name": "back panel",
        "mask": [
            [0, 1, 1, 1],
            [1, 1, 1, 1],
            [0, 1, 1, 1],
        ]
    },
    {
        "name": "sleeve",
        "mask": [
            [1, 1, 0],
            [1, 1, 1],
        ]
    },
    {
        "name": "collar",
        "mask": [
            [1, 1, 1],
        ]
    },
    {
        "name": "cuff",
        "mask": [
            [1, 1],
            [1, 0],
        ]
    },
    {
        "name": "pocket",
        "mask": [
            [1, 1],
            [1, 1],
        ]
    },
]

fabric_width = 10

grid, placements, marker_length, marker_efficiency = bottom_left_marker(
    pieces,
    fabric_width,
    allow_rotation=True
)

print("PLACEMENTS")
for item in placements:
    print(item)

print("\\nMARKER LAYOUT")
render_marker(grid)

print("\\nRESULT")
print("Marker length:", marker_length)
print("Marker efficiency:", round(marker_efficiency, 2), "%")

6. Example Solution and Interpretation

One possible output is:

PLACEMENTS
{'id': 1, 'name': 'front panel', 'x': 0, 'y': 0, 'rotation': 0, 'area': 10, 'size': (4, 3)}
{'id': 2, 'name': 'back panel', 'x': 4, 'y': 0, 'rotation': 0, 'area': 10, 'size': (4, 3)}
{'id': 3, 'name': 'sleeve', 'x': 8, 'y': 0, 'rotation': 90, 'area': 5, 'size': (2, 3)}
{'id': 4, 'name': 'pocket', 'x': 3, 'y': 2, 'rotation': 0, 'area': 4, 'size': (2, 2)}
{'id': 5, 'name': 'collar', 'x': 9, 'y': 2, 'rotation': 90, 'area': 3, 'size': (1, 3)}
{'id': 6, 'name': 'cuff', 'x': 0, 'y': 3, 'rotation': 0, 'area': 3, 'size': (2, 2)}

MARKER LAYOUT
111..22233
1111222233
1114422235
66.44....5
6........5

RESULT
Marker length: 5
Marker efficiency: 70.0 %

In this output, each number represents one garment pattern piece. The dots represent unused fabric. The fabric width is:

\[ W = 10 \]

The used marker length is:

\[ L = 5 \]

Therefore, the total marker area is:

\[ W \times L = 10 \times 5 = 50 \]

The occupied area of all pieces is:

\[ 10 + 10 + 5 + 4 + 3 + 3 = 35 \]

So:

\[ \text{Marker Efficiency} = \frac{35}{50} \times 100 = 70\% \]

This means that 70% of the marker area is occupied by pattern pieces, while 30% remains unused. The result also shows why shape arrangement matters. The efficiency is not decided only by the total area of the pieces. It also depends on how the shapes fit together inside the fixed marker width.


Visual 3: Simplified Python marker layout — occupied cells, unused cells, marker width and marker length.

7. Problems in This Simple Treatment

The simple Python example is useful for learning, but it has several limitations. These limitations are important because real marker making is more complex than the example suggests.

Problem Why It Matters
Rasterized shapes The code uses grid cells instead of true CAD pattern curves and polygons. Real garment pieces have smooth curves, not square blocks.
No seam allowance logic Industrial patterns include seam allowance, notches, drill marks, internal cut points and tolerances.
Rotation is too simple The code allows 90-degree rotation, but real pieces may be restricted by grainline, nap, print direction or stretch direction.
No cutting gap The example allows pieces to touch closely. In real cutting, a minimum gap may be needed depending on equipment and fabric behaviour.
Not globally optimal The bottom-left method is a heuristic. It gives a feasible solution, but not necessarily the best possible solution.
No size-ratio planning Real markers often contain multiple sizes in a ratio such as S:M:L:XL. This example uses one simplified piece set.
No fabric defects Actual cutting may require avoiding defects, shade variation or border-placement restrictions.

Therefore, this example should be understood as a conceptual model, not as a production-grade marker-making system. Its purpose is to show why marker efficiency is an optimization problem and how an algorithm can begin to solve it.

8. Business Meaning of Marker Efficiency

Marker efficiency directly affects fabric consumption. If two markers produce the same garment output but one uses less fabric length, the more efficient marker reduces fabric cost.

For example, assume two markers contain the same total pattern area. If one marker gives 80% efficiency and another gives 85% efficiency, the second marker uses less fabric for the same garment output. In high-volume production, even a small improvement in marker efficiency can become commercially meaningful.

Marker efficiency affects:

  • fabric cost,
  • cutting-room waste,
  • garment costing,
  • production planning,
  • vendor negotiation, and
  • sustainability reporting.

However, marker efficiency should not be judged blindly. A lower marker efficiency may be justified when the garment has complex shapes, directional fabric, check matching, border placement or strict grainline requirements. The best marker is not always the one with the highest mathematical efficiency. It is the one that gives good fabric utilisation while remaining correct for production.

Summary Table

Level Optimization Question Practical Objective
Pattern layout level How should the pieces be arranged? Reduce unused marker area.
Marker length level What is the shortest feasible marker? Reduce fabric consumption.
Cut-order level Which markers and lays should be used? Meet size demand at minimum cost.
Business level How does marker efficiency affect cost? Improve margin and reduce waste.

Conclusion

Marker efficiency may appear to be a simple percentage, but it represents a complex placement problem. Garment pattern pieces are irregular, the fabric width is fixed, and the marker planner must reduce unused area while satisfying production constraints.

Mathematically, the problem can be understood as an applied 2D irregular nesting or strip-packing problem. The objective is to minimize marker length or unused fabric area while ensuring that all pattern pieces remain inside the marker and do not overlap.

The Python example in this article demonstrates the basic principle using simplified rasterized pattern pieces. It shows that marker efficiency depends not only on the total area of the garment pieces, but also on their arrangement.

In real factories, professional CAD systems, experienced marker planners and optimization algorithms handle this problem at a much larger scale. Still, the core idea remains the same:

\[ \text{Use the least fabric while producing correct garment parts.} \]

Sources and Further Reading

  1. Lastra-Díaz, J. J., and Ortuño, M. T. “A New Mixed-Integer Programming Model for Irregular Strip Packing Based on Vertical Slices with a Reproducible Survey.” arXiv, 2022.
  2. Guo, B. et al. “Two-dimensional irregular packing problems: A review.” Frontiers in Mechanical Engineering, 2022.
  3. Shang, X., Shen, D., Wang, F.-Y., and Nyberg, T. R. “A Heuristic Algorithm for the Fabric Spreading and Cutting Problem in Apparel Factories.” IEEE/CAA Journal of Automatica Sinica, 2019.
  4. Amaral, C., Bernardo, J., and Jorge, J. “Marker-making using automatic placement of irregular shapes for the garment industry.” Computers & Graphics, 1990.
  5. Wong, W. K. et al. “Genetic optimization of fabric utilization in apparel manufacturing.” International Journal of Production Economics, 2008.

General Disclaimer

This article is intended for educational and informational purposes. The Python example is a simplified teaching model and should not be treated as a substitute for professional garment CAD software, production-approved marker planning or factory-specific cutting-room procedures. Actual marker efficiency depends on fabric type, garment design, pattern engineering, fabric width, grainline, nap direction, print matching, cutting equipment, lay height, buyer requirements and factory standards. Readers should validate all calculations and marker plans according to their own production context before applying them commercially.



```

Wednesday, 24 June 2026

Present Status of Natural Dyes: Understanding M. L. Gulrajani’s Classic Paper



Present Status of Natural Dyes: Understanding M. L. Gulrajani’s Classic Paper

Natural dyes occupy a special place in textile history. They connect agriculture, craft, chemistry, ecology, design and cultural identity. In India, natural dyes are closely associated with textiles such as Ajrakh, Kalamkari, indigo-dyed fabrics, lac-dyed textiles and many traditional printed and handloom products.

M. L. Gulrajani’s paper “Present status of natural dyes”, published in the Indian Journal of Fibre & Textile Research, is one of the most useful papers for understanding this subject in a balanced manner. The paper does not simply praise natural dyes as eco-friendly alternatives. It critically examines their demand, limitations, availability, production technology, mordants, application methods and fastness behaviour.

The paper's central message is important: natural dyes are valuable, but they should not be treated as simple substitutes for synthetic dyes. They have their own role, especially in craft textiles, heritage products, design-led textiles and niche sustainable markets. However, their successful use requires scientific understanding and process control.

Table of Contents

1. Context of the Paper

The paper was published in 2001, at a time when interest in natural dyes was growing again due to concerns about environment, craft revival and traditional textile knowledge. Gulrajani discusses natural dyes not only as colouring materials but also as part of a broader system involving raw materials, extraction, dye chemistry, mordanting, textile substrates and market demand.

The paper is especially useful because it separates romantic claims from practical textile realities. It recognises the cultural and ecological appeal of natural dyes, but also explains why they are difficult to use consistently at scale.

Simple way to read the paper: Gulrajani is not saying that natural dyes are bad. He is saying that natural dyes need science, standardisation and careful positioning.

Visual 1: Natural dye system map showing plant or animal source, extraction, mordanting, fibre, dyeing, fastness and final textile.

2. Central Argument

The most important argument in the paper is that natural dyes are not direct substitutes for synthetic dyes. Synthetic dyes dominate modern textile dyeing because they offer better reproducibility, stronger shade control, wider colour range, easier application and more predictable fastness.

Natural dyes, on the other hand, have a smaller but meaningful place. Their value lies in uniqueness, craft identity, ecological perception, heritage association and design richness. They are most suitable where the story and character of the textile matter as much as strict shade uniformity.

Common Assumption Gulrajani’s More Balanced View
Natural dyes can replace synthetic dyes. Natural dyes have their own niche market; they are not simple replacements.
Natural dyes are automatically eco-friendly. The dye may be natural, but mordants, effluents, extraction and land use must also be considered.
Traditional dyeing is enough by itself. Traditional knowledge is valuable, but it needs documentation, testing and standardisation.
Shade variation is always a defect. In craft textiles, shade variation may become part of the product’s uniqueness.

3. Why Natural Dyes Declined

Gulrajani explains that natural dyes declined after the discovery and commercialisation of synthetic dyes. Synthetic dyes became attractive because they were easier to produce, easier to standardise and more suitable for large-scale textile manufacturing.

The paper identifies four major reasons for the decline of natural dyes: availability, colour yield, complexity of dyeing and reproducibility of shade. These are not small issues. In commercial dyeing, a buyer may expect the same shade across repeat orders, multiple fabric lots and different production batches. Natural dyes make this difficult because the dye source itself can vary with plant species, season, soil, maturity and extraction method.

Limitation Practical Meaning in Textile Dyeing
Availability The required dye material may not be available in uniform quality and quantity throughout the year.
Colour yield Large quantities of plant material may be needed to obtain useful colour strength.
Complex process Extraction, mordanting, dyeing and after-treatment may all need careful control.
Shade reproducibility The same recipe may not always give the same colour in different batches.

4. Advantages and Appeal of Natural Dyes

The paper also recognises why natural dyes remain attractive. They come from renewable sources, often require relatively mild preparation, are connected with traditional knowledge and allow a high degree of creativity. For designers and artisans, the slight irregularity of natural dyes can become a strength rather than a weakness.

A natural-dyed textile is not valued only for colour. It may also carry the story of a plant, region, dyer, printing tradition, hand process or cultural memory. This is why natural dyes continue to matter in craft textiles even when synthetic dyes dominate industrial dyeing.

5. Stakeholders in Natural Dyeing

One strong section of the paper is its discussion of stakeholders. Gulrajani does not present natural dyeing as only a laboratory subject. He shows that natural dyes involve hobby groups, designers, traditional dyers, NGOs, museums, academic institutions, laboratories and industry.

Stakeholder Role in Natural Dyeing
Traditional dyers and printers Preserve practical dyeing, printing and mordanting knowledge.
Designers Use natural dyes for uniqueness, irregularity, texture and craft value.
NGOs Promote livelihood, craft revival and rural production systems.
Museums Study natural dyes in historical textiles and conservation work.
Research institutions Analyse dye chemistry, fastness, extraction and standardisation.
Industry Explores scalable production, ready-to-use extracts and niche textile products.

The paper also mentions textile practices such as tie-and-dye, shibori, resist printing, batik, Ajrakh, Kalamkari and Ikat. This makes the paper very relevant for Indian textile studies because these crafts use colour not merely as surface decoration but as part of a complete cultural and technical process.

6. Market Size and Demand

Gulrajani estimates that the requirement of natural dyes at that time was about 10,000 tonnes, roughly equivalent to 1% of world synthetic dye consumption. This figure is important because it shows the scale of the opportunity and also the limitation.

Natural dyes can have a meaningful market, but it is not realistic to imagine them replacing the synthetic dye industry. Their stronger opportunity lies in carefully positioned markets: handloom products, premium craft textiles, educational kits, heritage reproductions, museum conservation, boutique apparel, natural lifestyle products and design-led textile collections.

7. Production Technology

Another important contribution of the paper is that it treats natural dye production as a technology. Natural dyeing is often described in simple terms such as boiling leaves or extracting colour from roots. Gulrajani shows that serious natural dye production can involve aqueous extraction, solvent extraction, filtration, reverse osmosis, preparative HPLC, spray drying, vacuum drying, freeze drying and even supercritical fluid extraction.

This changes the way we look at natural dyes. A natural dye is not just a traditional material. It can also be a standardised product if extraction, purification, drying and characterisation are controlled properly.

Stage Scientific Issue
Raw material selection Plant species, season, maturity and region influence colour content.
Extraction Water, solvent, temperature, time and pH affect dye yield.
Purification Impurities may affect shade, fastness and reproducibility.
Drying Powder quality and storage stability depend on proper drying.
Testing Colour strength, shade, fastness and safety must be evaluated.

8. Important Natural Dyes

The paper discusses several important natural dyes by colour family. For blue, Gulrajani highlights indigo as the only major viable natural blue dye. Natural indigo is obtained from leaves of Indigofera species through fermentation and oxidation. Chemically, the process may be simplified as:

\[ \text{Indigo precursor in leaf} \rightarrow \text{Indoxyl} \rightarrow \text{Indigotin} \]

For dyeing, insoluble indigo must be converted into soluble leuco-indigo and then oxidised back to blue on the fibre:

\[ \text{Insoluble Indigo} \rightarrow \text{Soluble Leuco-Indigo} \rightarrow \text{Blue Indigo on Fibre} \]

For red shades, the paper discusses sources such as madder, manjeet, sappanwood, morinda, cochineal and lac. Many red natural dyes are chemically complex and may contain several colouring components. This complexity can produce beautiful shades, but it also makes standardisation difficult.

For yellow shades, the paper points out that yellow is one of the most common natural dye colour families. However, many yellow dyes have poor fastness. This is a useful caution: a dye may be easily available and visually attractive, but it may not be suitable unless its fastness performance is acceptable.

Visual 2: Three-colour natural dye palette showing blue from indigo, red from madder or lac, and yellow from plant sources.

9. Mordants and Their Role

Mordants are one of the most important subjects in natural dyeing. Many natural dyes do not bond strongly with textile fibres on their own. A mordant can help create a link between the dye and the fibre. In traditional dyeing, common mordanting systems may involve alum, iron salts, copper salts, tin salts or tannin-rich materials.

However, Gulrajani is careful in his treatment of mordants. He notes that not every natural dye is necessarily a mordant dye. Like synthetic dyes, natural dyes may behave as vat dyes, acid dyes, basic dyes, disperse-like dyes, direct dyes or mordant dyes. Some dyes can fall into more than one class depending on fibre and method.

This point is very useful for textile students. Natural dyeing should not be understood only by recipe. It should be understood by dye class, fibre affinity and chemical behaviour.

Material Role in Natural Dyeing Caution
Alum Common mordant, especially for many plant dyes. Must be used in controlled quantity.
Iron salts Can darken or sadden shades. May alter handle and shade significantly.
Copper salts May improve some fastness properties. Environmental and safety considerations are important.
Tannins Useful in cotton preparation and some dyeing systems. Excess use can affect rub fastness and handle.

10. Application Classes of Natural Dyes

A very important part of the paper is the classification of natural dyes according to their application behaviour. Indigo behaves like a vat dye. Madder behaves as a mordant dye and may also show disperse-like behaviour. Lac can behave as an acid dye and also as a mordant dye. Berberine behaves as a basic dye.

Natural Dye General Application Behaviour Textile Meaning
Indigo Vat dye Needs reduction to soluble form and oxidation back to blue.
Madder Mordant / disperse-like behaviour Shade depends strongly on mordant and fibre.
Lac dye Acid / mordant dye Useful for protein fibres and mordanted systems.
Berberine Basic dye Shows affinity for selected fibres and treated substrates.
Cutch Acid / mordant / disperse-like behaviour Can give useful brown and reddish-brown shades.

This classification is more useful than simply saying that a dye is natural. It helps the dyer ask better questions: What fibre is being dyed? Does the dye need reduction? Does it need a mordant? Does it behave better on protein fibres or cellulosic fibres? Does it require acidic, neutral or alkaline conditions?

11. Fastness Problems

Gulrajani discusses the widespread belief that natural dyes are fugitive. In practice, the situation is more complex. Some historical textiles dyed with natural dyes have survived for centuries, while other natural-dyed materials fade quickly. The difference lies in dye selection, fibre, mordanting, processing, washing conditions and exposure to light.

Poor wash fastness may arise because of weak dye-fibre bonding, breaking of dye-metal complexes during washing or ionisation of dye molecules under alkaline washing conditions. Many natural dyes contain hydroxyl groups. Under alkaline washing with soap or detergent, these groups may ionise and cause shade change or colour loss.

In simplified form, a fastness problem may be understood as:

\[ \text{Weak dye-fibre bond} + \text{alkaline washing} + \text{light exposure} \rightarrow \text{fading or shade change} \]

This is why natural-dyed fabrics require careful process control and suitable care instructions. A fabric may look beautiful immediately after dyeing, but its true performance is judged after washing, rubbing, perspiration and light exposure.


Visual 3: Fastness factor diagram showing dye-fibre bond, mordant, pH, washing, rubbing and light exposure.

12. Why the Paper Still Matters

The paper remains relevant because many current discussions on natural dyes still repeat the same oversimplifications. Natural dyeing is often described as harmless, traditional and sustainable. Gulrajani’s paper reminds us that sustainability must be evaluated across the full process: raw material cultivation, extraction, mordanting, water use, effluent, fastness, durability and land requirement.

For Indian textiles, the paper is especially useful because it links natural dyes with craft traditions such as Kalamkari, Ajrakh, Ikat, resist printing and indigo dyeing. These are not merely decorative techniques. They are knowledge systems that combine material selection, process control, skilled observation and regional practice.

Modern Question How Gulrajani’s Paper Helps
Are natural dyes sustainable? Only if extraction, mordanting, effluent, fastness and land use are responsibly managed.
Can natural dyes be scaled? Only with standardised extracts, process control and reliable raw material supply.
Why do natural-dyed fabrics fade? Fastness depends on dye-fibre bonding, mordant stability, pH, washing and light exposure.
Why are natural dyes important for craft? They add cultural value, uniqueness and process identity to textiles.

13. Conclusion

M. L. Gulrajani’s “Present status of natural dyes” is important because it gives a practical and scientific view of natural dyeing. It respects traditional knowledge but does not romanticise it. It recognises the value of natural dyes but does not claim that they can easily replace synthetic dyes.

The paper’s strongest lesson is that natural dyeing must be understood as a complete textile system. The dye source, extraction method, mordant, fibre, application class, washing conditions and fastness behaviour all matter. For craft textiles, natural dyes can add beauty, cultural value and uniqueness. For commercial textiles, they require standardisation, testing and honest communication.

In short, natural dyes are not just colours from nature. They are a meeting point of chemistry, craft, agriculture, design and textile science.

14. Sources

  1. Gulrajani, M. L. (2001). “Present status of natural dyes.” Indian Journal of Fibre & Textile Research, 26, 191–201.
  2. Gulrajani, M. L., & Gupta, D. (1992). Natural Dyes and Their Application to Textiles. Department of Textile Technology, Indian Institute of Technology Delhi.
  3. Samanta, A. K., & Agarwal, P. (2009). “Application of natural dyes on textiles.” Indian Journal of Fibre & Textile Research, 34, 384–399.
  4. Ferreira, E. S. B., Hulme, A. N., McNab, H., & Quye, A. (2004). “The natural constituents of historical textile dyes.” Chemical Society Reviews, 33, 329–336.
  5. Cardon, D. (2007). Natural Dyes: Sources, Tradition, Technology and Science. Archetype Publications.

15. General Disclaimer

This article is intended for educational and informational purposes. Natural dyeing practices vary according to fibre type, dye source, water quality, mordant, pH, temperature, local tradition and workshop method. The explanations given here simplify complex dye chemistry for textile understanding.

Readers should use proper safety precautions when working with mordants, metallic salts, alkalis, acids, reducing agents or any dyeing chemicals. Environmental disposal rules and local regulations should be followed. This article should not be treated as a substitute for laboratory testing, professional dyeing advice or formal chemical safety guidance.

Total Pageviews